What I've used with great satisfaction for the last 20 years is a product called LPS 3, which is a long-term metal storage protectant. It's available in aerosol and by the jug, smells like cherry pop, goes on like thirty-weight and dries to a smearable petroleum wax that can be readily removed when the time comes. IIRC, it's rated for two years rust prevention on metals stored inside. I never tried it outdoors, but I use it on my pin gages, surface plates, and other tools and things which are unused for long periods, as well as the inevitable safe queens. Never found any rust. Because the protective element is a petroleum WAX, rather than an oil, it's BP compatible and I've used it as patch lube without the ghastly petroleum/BP fouling problems. There are a number of other LPS products also directly applicable to our hobby(s). Here's a link:
http://http://www.lpslabs.com/product-details/612. I got mine from a machine tool supply place, but it can be found at well-supplied hardware places or use the "distributor finder" button on the website.
It's also useful for light-duty anti-seize purposes. It sure keeps lug nuts from rusting to the lug threads or the rim seats. One of the best non-typical uses I've found for it is battery terminal corrosion protection. When they're reassembled clean, and it's liberally applied, there won't be any corrosion for as long as it's there.