The initramfs is just a cpio archive unpacked into the rootfs (the filesystem / is mounted on top of) and optionally linked into the kernel image. It contains /init, which the kernel runs as PID 1 and which generally finds and overmounts the real root (deleting the contents of the rootfs at the same time, as they are nonswappable and memory is not free) and execs /sbin/init from there. But it doesn't have to do that. It can load modules, it can run udev, it can probe for md or LVM or distributed filesystems or fsck the real / before mounting it rather than doing that gross readonly fsck hack, or do whatever the heck it wants. In particular it can mount *more than one* filesystem. (Heck, mine mounts three and does several bind-mounts as well.)
I've seen initramfses that never exec any real init at all, but run all of userspace from the initramfs (generally a fairly small userspace). I've even seen initramfses that compiled appropriate modules from source and then modprobed them, to make sure they never got out of synch with the running kernel.
initramfses are really powerful. I don't know why people have such a resistance to them. Sure, they're tricky -- the need to wipe the rootfs while overmounting the real /, and the tendency to use a non-glibc libc, makes sure of that -- but they're not actually *scary*. And they're certainly not ugly. They add enormous flexibility to a part of the boot process that used to be completely nonswappable, and particularly if you link the initramfs into the kernel image they can add a lot of robustness, giving you a single kernel image with rescue, recovery, and root-filesystem-finding tools built in and inseparable no matter what weird breakage you do to your filesytem. And they do this without necessarily adding much complexity: my /init is only 172 lines of rarely-changing shell but gives me a rescue shell and md, LVM and NBD booting for all of that.
It's true that dracut is complicated, but it's generic -- complexity is in the nature of a generic solution in a problem space as intricate as this (there are endless ways to find the root filesystem and dracut has to handle all of them). Special-purpose initramfses, or initramfses built for your own use, don't actually need to be complicated or brittle.