I use CVS to synchronize my home directories across several machines, as you do, although I only use it for synchronization, not history. Also like you, I manage larger collections of files (my music and pictures) via rsync.
The directory I manage this way is where I keep my most important text files. I call it sys-config because I started it as a way of storing the config files
I periodically wipe out my CVS repository and re-import sys-config because of how hard it is to rename files and directories and move them around. This doesn't bother me since I am not interested in keeping track of history for sys-config.
I am curious how you handle the threat of one of your hard disks rotting out from under you, especially for files you haven't looked at in years. How do you know they aren't decaying?
You need to automate the generation and checking of md5sums to fight that. I have toyed around with some scripts but not settled on one approach yet. You need a way to separate the files that are changing a lot from the ones that don't or you will generate a lot of false alarms (md5sum checks will fail for files that you edited and didn't recalculate the first time).