Muriatic acid will eat the rust and leave you with bare metal, the full strength stuff works better but hard to come by. Be careful, if you leave it on too long, it will eat the metal.
Here is an example of what the acid can do https://www.youtube.com/watch?v=Tfk2J0fXZzM full strength version of the acid https://www.youtube.com/watch?v=V2Q7I26cwkU
Skyco ospho rust converter will "convert" the rust into something paintable. You apply it, let it sit 24 hrs then wash it off, then paint it. I just started doing this method this last year, so I can't offer you any lasting results, but I think it will work better than other methods I have used. Remember, you need to wash it off after you let it sit or the paint won't stick.
I recommend using POR-15 to repaint it, they have an aerosol can that can be painted directly to the bare metal.