I use a CLP (Clean Lube Penetrate) called Eezox, this stuff is excellent for preventing rust, you might want to check them out at
http://www.eezox.com. It's a dry lube but it seems to work well on my semi-autos and it's excellent for preventing rust.
Heres a review they did a few months ago on this stuff.
http://www.6mmbr.com/corrosiontest.html