Many forums on both house and commercial cleaning rate vinegar high on their lists for getting calcium stains out of toilets and sinks. Strong vinegar concentrations work well when left to soak on the stains, and this can be done safely overnight. Some advise letting all of the water out of the toilet, spraying vinegar full-strength on stains and letting it work until the morning. Others coat paper towels with vinegar and leave those on the rings and stains. Both methods seem to reduce the amount of hand scrubbing needed, though a light scouring with fine sandpaper or an abrasive sponge will finish the job.
Using the vinegar method seems to work not only at getting the stains off but also for keeping stains from forming when used regularly -- and before hard water has a chance to build up. Regular toilet brushing with vinegar and baking soda or even without a cleanser also can keep minerals moving and loose rather than congregating and causing stains.
Preventing water from running through your plumbing in its hard form is another option, and water softeners often can neutralize mineral particles to make the water softer and less likely to stain your bowls. So I guess you can go soft on hard water, or rather, it can go soft on you.