That's what I've always used is vinegar. It works great just make sure you thoroughly rinse it off and let your top completely dry before putting it back on top of your tank. I always rinse and dry twice just to make sure.
I've also used vinegar on my glass tops, that were used along with my used tank. Take the tops off of course and let the vinegar soak in the stains a little while. Comes off pretty easy. And yes, rinse, rinse and rinse again.
I know it's not the most fun, but I've found frequent cleaning of these beats the heck out of scrubbing with vinegar every so often. A little aquarium-safe glass cleaner every couple of weeks will take care of it.