SpinRite might do it. See if somebody owns a copy (some unis do). It's a kind of wierd disk scan program. Some people say the 'detect disk failure before it happens' hypothesis is just nonsense. On the other hand, even if it doesn't detect beforehand, his programs reads the defective sector a lot (1000 times according to the docs) before saying it has recovered all data, so I think it could indeed do wonders. I've never had the change to test it.
Having had experience with SpinRite... it probably would do the trick. It is pricey, though. I got a copy for $100 bucks (educational price) for a single floppy.

Spinrite is amazing at recovering data on lost (click of death, etc) ZIP disks as well. It can take a long time though (24 hours to recover 50MB of lost data).

Does anyone know of an Open Source tool that does similar tasks? Fixing damaged disks using low level scanning techniques?

Thanks