The only thing that's worked for me, and worked surprisingly well at that, is polishing the disks with brasso. I've had a success rate of around 75%. Software can only do so much if your disk is truly effed up.This should be the last resort, though, as you risk damaging the discs more than you fix them
I've actually used Brasso on more discs than I can remember over the years, not one has come off worse and I'm always able to get them to a condition in which the data/video/audio will be read error free.
About the only ways you could risk damaging the disc using Brasso are:
a) You're using the equivalent of sandpaper for polishing - I use old clean t-shirts or towels.
b) You're doing it with the disc resting on a rough surface thereby possibly scratching the reflective layer.
c) You polish the disc in the wrong direction.
d) The scratch you're trying to polish out is way too deep.
e) You rapidly get fed up, develop tennis elbow and hoe into it with a angle grinder in frustration.
Using Brasso is not a fast fix, I've spent an hour+ on one CD I bought secondhand just to get it to play in a CD player. It went from looking like a road map of Los Angeles to almost brand new store bought condition.
Note though that it's only good for physical damage to the polycarbonate side of the disc: scratches, pits, etc.
I've found that CRC errors are generally caused by a poor disc write or defects in the reflective layer or recording chemical layer, (poor disc quality).