I've just discovered a new way of removing rust from steel. This works even on pitted surfaces. Asda (Walmart in the USA) sell a product called "Asda limescale removing toilet cleaner". It's in a blue plastic bottle and is less than one pound for 750ml. It contains Hydrochloric Acid (look on the back) and is quite thick so that it sticks to toilet bowls and also to Landrover chassis parts. I've just used it on a piece of pitted rusty sheet steel and now I have a piece of shiny sheet steel with shiny pits. The only other method of rust removal I've found is using concrete cleaner which contains phosphoric acid but it is quite thin.
Obviously you should were rubber gloves, protective clothing and eye protection when using these quite dangerous products and have a source of cold water at hand in case of accidents.