I live in a town that liberally spreads a mixture of sand and salt. I've tried a lot of things and have found that if I have to ride through that sandy, salty slush a lot, my chain will be gritty and rusty by the end of the season. The main variable is the amount of that kind of weather, and how many times I remember to wipe off the chain. Fenders and chainguard help keep the bike nicer, but are not a panacea. The less steel on the bike, the less rust.
Last summer I finally built a dedicated winter bike, and simply put a pre-rusted chain on it. When I buy another chain, I'm going to try one of those galvanized ones from KMC.