This goes without saying, but if you have the means to store it indoors, thats always the best option.
As for those of us that store outdoors, as said above, a cover or shrinkwrap is a MUST, IMO. I use an industrial thick tarp to cover mine, with a wooden brace system in the rear from hardtop down to battery boxes, and rope lines from the hardtop to the bow rail in the front, to prevent water, ice, and snow buildup (works really well). Also, store the motors in the DOWN position to prevent water build up in the lower unit/skeg. Motors should definitely be fogged to ensure that there is no moisture sitting in the cylinders for a long period of time, and if you have a motor that does not drian completely, flush the cooling lines with RV/Marine Anti Freeze (don't use car antifreeze, as it is not good for the environment). As far as for the batteries, I always take mine off the boat, and store indoors, hooked up to tenders for the winter.
The introduction of ethanol into boating has caused quite a debate over whether to store your tanks empty or full... I prefer to store mine full, and have not had a problem yet... If storing full, be sure that when you fill it at the end of the season, if its cold that day, do not completely top off, otherwise, on the first warm day of spring, you will have fuel gushing out of the vents...
Also, as stated above, I always place an anti mildew product in the cabin of the boat, for obvious reasons.
Just my $.02
Bren