I personally use hd regenerator to recover bad blocks, and recently I tried a new salvationdata sector recovery utility to repair my dead maxtor hd. Amazingly that hd is back alive.
http://www.salvationdata.com/

By the way, you might want to try using dd_help. I never use dd_rescue, But from what is written, it will help you with dd_rescue.
http://www.kalysto.org/utilities/dd_rhelp/index.en.html