There is one benefit to hibernatemode 0, and that is that your system will never write /var/vm/sleepimage, which is how it stores your memory state. The file is the size of your RAM (in my case, 16GB) and can be a significant consumer of disk space of you only have a 256GB SSD in your MBPR. Also, writing out your system memory to the SSD every time your put your Mac to sleep causes significant additional write cycles on your SSD and may shorten its life. I am not sure to what degree this is a concern.
Having said that, you're right that using hibernatemode=3 (and maybe 25, I haven't tried it) and standby=0 is another method of avoiding the unregistered pageouts—with the above caveat that you'll be losing space on your hard drive in the amount of your RAM size, etc. So I owe you an apology for misunderstanding the difference between what you were doing and what I was doing. I didn't read your post thoroughly enough and I apologize for that. It's clear there are two solutions to the problem with different tradeoffs. Hibernatemode 0 frees more disk space and reduces SSD write cycles, but if your battery dies while the laptop is asleep, you lose whatever was in your RAM. Hibernatemode 3 and standy 0 causes more disk usage and more SSD writes, but if your battery dies, you will still recover your RAM from disk and be able to pick up where you left off rather than have a forced reboot. Both solutions, though, prevent the writing to the pagefile.
So, that's cool.
I also went and read the manual page for pmset in more detail after re-reading your original post more carefully. I saw this section:
hibernatemode takes a bitfield argument defining SafeSleep behavior. Passing 0 disables SafeSleep altogether, forcing the computer into a regular sleep.
____ ___1 (bit 0) enables hibernation; causes OS X to write memory state to hibernation image at sleep time. On wake (without bit 1 set) OS X will resume from the hibernation image. Bit 0 set (without bit 1 set) causes OS X to write memory state and immediately hibernate at sleep time.
____ __1_ (bit 1), in conjunction with bit 0, causes OS X to maintain system state in memory and leave system power on until battery level drops below a near empty threshold (This enables quicker wakeup from memory while battery power is available). Upon nearly emptying the battery, OS X shuts off all system power and hibernates; on wake the system will resume from hibernation image, not from memory.
____ 1___ (bit 3) encourages the dynamic pager to page out inactive pages prior to hibernation, for a smaller memory footprint.
___1 ____ (bit 4) encourages the dynamic pager to page out more aggressively prior to hibernation, for a smaller memory footprint.
Bits 3 and 4 raised my eyebrow. It looks like for some reason the hibernation process includes having the dynamic pager (this is the part of the kernel that manages swap file creation, paging out, etc) page out the inactive pages in RAM to the disk before hibernating "for a smaller memory footprint." I am not sure why it's doing this. With an SSD it should be fine to just purge inactive memory altogether—you're going to have to hit the disk to get it back whether it's re-reading the file it was originally in OR reading from the pagefile. So, I don't get that at all. It sounds misguided to me, and certainly it sounds like the system is doing this willynilly—hibernatemode 3 (0000 0011) doesn't activate bit 3 or 4, and yet it clearly causes this behavior. It looks to me like it should only happen in hibernatemode 25 (0001 1001), which has bits 0, 3, and 4 set, so it's unfortunate that pmset doesn't appear to behave exactly as advertised.
Still, at least now I have a reasonable guess as to why this paging out was happening. For me, that basically concludes the issue. pmset is doing something normal, but it's doing it even when you don't ask it to. And now we've figured out a couple of ways to prevent the behavior with a variety of tradeoffs, I think we're in good shape despite Apple's apparently-out-of-date documentation.