I have used recently Rustoleum Rust Reformer in the 8 oz. white bottle.
I wire brush it as best I can and then wash it, rinse, and let dry. Apply per instructions and let dry.
Paint over it within 1 hour after drying using an Alkyd Primer.
Then topcoat as needed.
I have also used spray can paint over it but I believe you have to wait longer for it to dry before you spray.
Can't say how well it will stand the test of time, but so far seems to be perfectly fine. No reason to think it will fail prematurely.
Sandblasting and priming would be my first choice.
Then using a wire wheel on an angle grinder second.
Third a good cleaning, wire brushing, cleaning again, then using this rust reformer, prime, paint.