I once wrote a fancy dd to recover a disk that jordan used for pictures. It worked well enough to get the crap off before the disk totally. Anyway I dusted it off and added a man page and stuff. Have a look at http://www.peereboom.us/diskrescue/ if you want to play.
I'll add some more language to the man page when I get time.