Oxalic acid, lye(sodium hydroxide), phosphoric acid, bead blasting, sandpaper and steel wool
I've used a strong, hot lye solution to derust an engine block.
If you use lye, use gloves and eye protection and an apron. Use with caution. Rinse everything well, then wax or prime before the part can flash rust.