Ryan - You are on the right track for sure.
You can get the "correct" case tool names I think from gp.listtools() - or arcpy.listtools() and use that to build a crosswalk.
Switching the tool names wouldn't be too horrible, something like...
1. Build a tool name dictionary - toolNameDict[toolName.split("_")[0].lower()] = toolName
- {"clip":"Clip_Analysis"}
2. Look for lines with "gp."
3. Isolate the part after the "gp." but before the "_' and/or "("
4. Convert to lower()
5. Now scan through the dictionary and hopefully find a match
The methods and properties would be harder, although most of them tend to be pretty specific keywords like ".getvalue" or ".oidfieldname". Some are not so obscure, like ".name" or ".type".
It'd be pretty hard to get something 100% accurate, but even 50% would be better than 0% (as long as it didn't completely bugger your code).
Anyway, it would be a pretty good challenge... stuff like this puts the P in GISP for sure.