What I was told, tried & discovered worked pretty well is: take an old "Wheat back" penny (preferably one that is not in good shape), and some gun oil (Remoil, etc.), oil the area w/ rust & start rubbing it w/ the penny. A piece of copper would do instead of the penny, too, I suppose. Cleaned up my grand dads old shotgun pretty well.
I used 0000 steel wool to remove rust from a Springfield 1903 last week... I don't know if it's the best way, but it worked - and left the bluing intact. It just takes a hell of a lot of time and rubbing (don't do it outside on the picnic table without sunblock... oooh boy, my neck is red!).
one thing that works that sounds kinda crazy is to write on the rust with a pencil, then just erase where you wrote and the rust is gone. i have only done this on smaller patches, but i did work for me. thats about the cheapest way i can think of to do it
0000 steel wool to remove the rust... dont press hard just enough to remove it... then a generous spray of EEZ- OX to protect it when it is in storage.
You can always protect it with a Navy Seal product! Tuf-Cloth Designed for and used by the U.S. Navy Seals! And does Demi Moore come with that purchase? I would like that!
I have used a pencil eraser too. If I'm putting a piece up for awhile I like Hoppe's Gun Grease best. When I have an older piece that I had to remove rust from it seems to keep it in check also.
Keeping rust off of a gun isn't too complicated. When you clean a gun, put on a patch some of whatever oil you used to lube the gun. Run the patch over all external metal surfaces of the gun. Handle the gun by the stock/grip without leaving fingerprints on metal surfaces. Put it away.
If it is a carry gun, periodically wipe it down with a silicone cloth or an oiled patch after handling.
I've never had a gun rust in 40 years using this method.
I've been using Corrosion X for quite some time now. I haven't found any product better for removing light rust and keeping rust from forming. I apply the Corrosion X and let it work for a while. If it doesn't remove the rust with just a rag, then I use it with 0000 steel wool and lightly rub. After the rust is gone, I clean the gun thoroughly and apply a light coat of Corrosion X. I keep my guns stored in safes with the rechargeable dehumidifier units.
0000 steel wool to remove the rust... dont press hard just enough to remove it... then a generous spray of EEZ- OX to protect it when it is in storage.
If it is to the point of pitting, then you can use the steel wool or other methods. Make sure you use the steel wool dry though as the rust that comes off is an abrasive and oil would hold it against your finish and do harm to it.
As to what is best to keep rust away. I use Breakfree CLP as that's what I use for lubrication and I can buy it almost anywhere. The Brownells test indicates that WD40 is good, but I wouldn't recommend it for storage as it turns to a gummy mess as it dries.