One a file is damaged, it can be quite tough to recover. CHKDSK creates .CHK files when it finds bad 'sectors'. Using a BINARY HEX editor you can read these. If they came out of a TEXT file, real 'easy' if you know how to reassemble files that is, to put the original back in place. However, once CHKDSK has does its thing, you shouldn't find bad sectors, and this is part of the problem. Where in a file do the .CHK remnant go, and to which file.
Recovery companies do have sophisticated tools and machines that can recover LOST data. They basically read the residual magnetism on the drive.
The best tool you can have is a backup solution, before the problem happens. For item that are 'keepsake' and not replaceable like pictures, burn DVD's and put them in a safe deposit box.
What you are describing is not bad sectors but corrupted data I think? If you lose power disk files can be corrupted, same for powering off without shutting down, such as in a power failure situation.