Here's my own quick guide:
Use the kernel's built in swsusp. swsusp-2.0 will be there eventually, but I try to keep the number of patches I use down so that they don't conflict.
Do add a resume= to your kernel options, even though it will also be compiled in somewhere. I use grub, so the step here was a little different.
Use ACPI if you can, and if you can, disable APM support.
Roll your own suspend/hibernate scripts and be prepared to spend a lot of time. Swsusp 2.0 or no, you may have to spend a LOT of time getting it working on your particular laptop.
For me, I had to make sure that I chvt'd out of X, unloaded my wireless driver, saved the clock, then suspended, then undid those in reverse order, and running hdparm AND WAITING FOR IT TO COMPLETE before starting X.
Use a recent 2.6 vanilla kernel, if possible. Until very recently, I couldn't get my networking to work after a suspend-to-disk, only suspend-to-ram.
I reccomend setting the power button to suspend-to-RAM, and have a manual setting to suspend-to-disk. This is because of the relative differences in starting times. If you suspend-to-ram by accident (tap the power button on laptop), you don't have to wait nearly as long as if you had suspended-to-disk.
Also, because suspend-to-disk takes so long to start back up, you won't be using it terribly often, or you'll lose more power than you save. Better to just close the lid so that your LCD isn't drawing power, set the disk to spin down reasonably often, and use reiser4 or XFS to maximize time between disk access.