If I encounter badly rusted steel around the property that needs to be painted, I'll first scrape off as much rust as possible, and then treat it with Jasco Primer/etcher. This is a phosphoric acid chromate liquid that turns the rust into a non-rustable black iron phosphate compound. Then after 24 hours (or sooner, depending) I'll give it a good prime with a rusty metal primer (usually red or brown in color), let that dry overnight, and then paint with oil or latex (oil is usually best for metal, seals out moisture better).
For galvanized I've been using Zinsser Bullseye 123 water based primer. Oil based primers and galvanized metal do not mix well. The zinc in the galvanizing will turn the oil in the primer into a soap (saponification) causing it to peel or flake off. Same with oil paint directly onto galvanized metal. In some cases a vinegar wash will prep the galvanized metal for paint, but I'd still use a good latex if direct on the metal.
The roof on my garage is corrugated galvanized steel. It's a high quality product - thicker and better plated than the crap that Home Depot sells. But someone once pointed it with an oil based aluminum paint, long ago. Well, that paint was flaking off when I bought the house 15 years ago, and it's all flaked off now. I'll probably wash it down with a mild soap solution, rinse with vinegar, prime with Zinsser Bullseye 123, and the give it a nice coat of white latex paint. This may keep the garage cooler in the summer, and it will match the white corrugated polycarbonate panels I'm installing on the attached carport roof.
[this post was last edited: 10/18/2013-20:43]