You can't fix a corrupt rom.. At least not without an elaborate scanning program, and an original uncorrupted, verified working copy. Which is only useful if you distribute roms.
Best way to fix the problem is re-download, and if that doesn't work then the source you are getting them from is probably corrupt, or a bad dump to begin with.
Don't bother with web sites, or purchasing "points" or whatever.. Torrents are the way to go when looking for roms these days.. Especially membership required trackers. They always carry the verified quality sets.