Good ideas, netnomad - I hadn't really considered these! In short: I think it should work on any boot/mount modes, I don't believe zram will help, and USB boot/hibernate is a great idea.
Mount Modes and boot modes: As long as the kernel and initrd are consistent, I don't think mount and boot modes will matter (knock on wood). On the other hand, I've only used/tested it on frugal. Right now I use frugal + persistent home + persistent opt; some extensions are looped, others installed. I tested the 2.x patches on frugal install with base/norestore.
Swap: this is storage for the system snapshot - it has to be non-volatile (stable during power off). Otherwise, I believe it is possible to boot off of just about anything, hibernate onto any [non-volatile] partition, and resume.
From what I remember, the resume binary/program doesn't actually have OS-managed access to the drive because resume is running before the OS is up. Since the storage media isn't actually "mounted", s2disk looks for the hibernate image by physical location, not file name. To avoid some problems (like overwriting useful data), I ask s2disk to hibernate onto an unused partition: my linux swap partition.
From what I understand, zRAM is a compression/algorithm for using RAM as swap space during normal operations? If that's right, I'm pretty certain zswap won't/can't be useful in the hibernate process (without some major coding).
Swap/hibernate using USB: really cool idea, though access to the USB drive (and hub) may not be available during resume. I would expect it to vary amongst hardware - just gotta test to find out. I'll put that on the todo list.
Thanks for asking - glad somebody is considering it.
DLT