For the outside only (could use inside, but it is rather messy) I use:
Strip It windshield cleaning compound, by Wiper Mates.
Billed as a "windshield restorer"
It's like an old fashioned paint rubbing compound for glass.
This will strip off old acid rain/hard water spots, so I'm sure it will take off the old Rain-X as well. Then I would re-apply the Rain-X, making sure you buff it sufficiently. A final buff with a misted (lightly damp) towel helps.
After that, and for the inside, I second the recommendation of the Invisible Glass product. Great stuff.
Dave