What is the most effective way to clean cases, keyboards, old calculators, etc. without harming or discoloring plastic finishes or printing/paint?
Water. Only water and maybe a little mild soap.
I cannot recommend rubbing alcohol for plastic parts, as it can whiten some plastics and it can remove paint off other parts.
For keyboards, use contact cleaner as discussed in my answer for how to clean system cartridges.
Water and a soft cloth goes a long way. Rubbing alcohol is useful for more stubborn stains, and you can't beat a tooth brush or similar to get into cracks and seams.
With hardware that's particularly grubby and where the electronics can be completely removed I've washed the parts in the kitchen sink using dish washing liquid. It's never caused any problems to the plastics I've cleaned this way.
If the dirt turns out to be discolouration (yellowing) then you may want to look into retr0bright, but it seems that the jury is still out with respect to it's long term effects and some people are happy with the 'aged' look.
Use methylated spirit (alcohol) and a soft cloth. The spirit evaporates quickly and doesn't leave stains.