Ospho & Phosphoric Acid
When it is not possible to sand-blast to white metal, what are the alternatives to prepare the surface for painting? A number of products containing phosphoric acid can be used to prime bare steel; even rusted steel. They bond with iron to form iron phospate, which does not expand and flake off like iron oxide. Phosphoric Acid has a unique property of dissolving iron oxide quickly while etching iron very slowly. Unfortunately, the iron phosphate coating is not very thick or durable; additional protection is still required.
To prepare the metal surface I use a combination of wire wheels and wire brushes in my 5" grinder, as well as a pneumatic needle-scaler, to remove all loose rust. I do not attempt to reach white metal. Once painted with the phosphoric acid, the metal will turn blue/black.

Once all rust flakes are removed, I vacuum loose debris, wipe with acetone or alcohol, apply the phosphoric acid primer, wait for at least 12 hours, I wire wheel again, wipe with acetone/alcohol and paint with an conventional primer.
OSPHO is commerical product that contains combination of phosphoric acid, dichromate, wetting agents and extenders.