I use SD cards because they result in less "constant disk imaging" than other solutions. In fact, ever since being clued into the idea by an LGR video, I've been migrating all my machines over to using SD cards so it's easier to add new OSes to play with as I acquire them. (My P1 133MHz machine is set up to boot MS-DOS 6.22/Windows 3.11 for Workgroups and Windows 98 SE and only has room for one more OS, but I've since acquired DR-DOS 6, Novell DOS 7, QEMM 97, the Windows 3.1x resource kits, and various other things I want to have fun with.)
Given that 16 gig SD cards are already bigger than I need, and how inexpensive "small" brand-name SD cards of sufficient performance can be, I think the only approach that would involve less re-imaging would be something involving sticking a PCI gigabit NIC with PXE firmware into your machine and netbooting it off disk images stored on your modern PC. (Something I may do once I have time to look up a good replacement for my 100Mbit NIC that still has DOS packet drivers. I already added a gigabit NIC to my Lenovo 3000 J Series just for the speed.)
However, if you do want to split a single non-removable drive into multiple OSes, Stephen Kitt's advice to use a boot manager is the way to go. I forget which open-source one I had trouble with (The AST Adventure! 210 is also prone to freezing
MEMMAKER and refusing to boot with a Voodoo 3 3000 PCI in its only PCI slot), but the copy of IBM Boot Manager included with my childhood copy of PartitionMagic 3 works just fine.
(If you can snag a used copy of PartitionMagic, it's also got a nice little command-line utility with DOS and Windows NT versions named PQ Boot which implements "change active boot partition and reboot" so you can extend Windows 9x's "Reboot into MS-DOS Mode" paradigm into completely separate OSes as long as you've got something on the other end to swap the active flag back.)