The installation integrity is a general problem of rpm, but for the kernel installation, it's more serious because this is the most bast part of the installation. The second proposal sounds promising, it also relaxes the blockage by the package installation. So this means that we'll have a system service that (re-)creates the initrds. It can be set to finish before shutdown / hibernation, too. Actually we can do both proposals; those are not exclusive. The worst case is to boot a broken kernel installation. I guess an alternative to the first proposal is something like: at package installation time, put the kernel as some invalid file name like /boot/xxxvmlinuz-*, then rename it to a proper name /boot/vmlinuz-* once after the initrd is created, and run grub2-mkconfig.