Weirdly enough I found that Wubi hibernates just fine, it's just not called "hibernate" in the settings, it's variously called "Sleep" or "Suspend to RAM".
When I go to Settings > System Settings > Advanced > Power Management > Edit Profiles and edit the currently selected power profile (in my case "Powersave"), on the line that says: "When the system is idle for more than"... when I select "suspend to disk" (which matches my definition of hibernation) I get the exact problem you've described above. I also tried increasing swap to something huge and it still didn't work.
But here's the odd thing: I just changed that setting to "suspend to RAM", and now it in fact hibernates just fine, in other words the screen goes blank and the hard disk stops spinning, and the light on my computer blinks, so that only the power button will wake it up again. Regardless of what it's called, that matches my definition of hibernation.
Similarly, if I go to the shutdown menu and choose "hibernate", I again get the free swap space problem described above, but if I choose "sleep" then it goes into a state that perfectly matches my definition of hibernation.
So short answer: just use "sleep" or "suspend to RAM" and pretend it's called "hibernate". You won't know the difference.