This page collects detailed discussion and possible solutions to the problem described here.
I'm not sure how this could work, but it probably starts at the /-entry in /etc/fstab, and goes through all other related configs (or can we get all information by device mapper?) resulting in a tree of block devices, where the root-filesystem lays on top. The same of course, for each resume device. btw: I think, once any PV of LVM would be below a device, we'd have to add all others to, regardless of whether they're actually have extents from the respective or not, as I guess we cannot partially close a VG.
The device mapper does not know about raid depenecies, but i.e. when mdadm gets installed in the system it comes with mkinitramfs hooks, and calls it postinst. If the hooks detect that the rootfs does not depend on any raid devices they could choose not to install mdadm to initramfs and rather remove it from there. (See https://wiki.ubuntu.com/ReliableRaid "How would you decide what devices are needed?" for more details on dependency detection.)