Maybe look at what was originally known as suspend2 - now
tuxonice. You can suspend to swap if you prefer.
I heard Nigel give his spiel at LCA a few years back - then there appeared to be a sh*t-fight with the kernel devs re what would (and wouldn't) get merged, and Nigel disappeared for a while. The original swsusp is still there; there is a feature comparison on the above site.