Another thing you can do, that trades off Unix semantics for battery efficiency, is to mount all your filesystems with the 'noatime' option. If you don't do this, even reading a file that's in cache will cause a disk write, to update the access time field of the inode. There isn't much on a typical workstation that depends on 'atime' being correct, so it's probably worth doing for laptops.
I got this off linux-kernel a while back and hadn't seen it mentioned yet, so I thought I'd pipe up. -Doug