If you want the paint to last, and you want it a particular color, then there is no one-step paint which will do both that I can think of.
I treat with Ospho, clean of the residue the next day, prime with Rustoleum Rusty Metal primer then use whatever final color in Rustoleum.
You could try POR15 and hope that it ends up all uniform. I have had problems with POR15 on sections which still have some paint on them.