Is there a way to hibernate at all? I know if the battery dies when it's sleeping it hibernates, but is there a way to go directly to hibernate with a keyboard shortcut?
Option-Command-Eject is the system-standard key to put the machine to sleep.
If you want to do more than sleep, you can use this preference pane to fine-tune the sleep or hibernate behavior: http://www.jinx.de/SmartSleep.html
More information about sleep, hibernate, and more on the Mac: http://www.geekguides.co.uk/104/how-to-enable-hibernate-mode-on-a-mac/