Two batteries did the same thing, and the alternator checks fine? Two things high on the list: first, a parasitic load, but you've considered that. Custom alarm system could also be a culprit.
Second and maybe more likely, bad grounds. Remove the end of the (-) battery cable where it bolts into the fender and clean it up. Also check the ground strap between the frame and transmission, and do the same. (If you don't find one I may be thinking of another car, but I'm not going out into the 0° to look!) Since you mentioned that you clean the engine compartment a lot I suspect these mechanical ground connections get hit with water a little more than they're designed to, and the contact surfaces have oxidized into bad contact.
Second and maybe more likely, bad grounds. Remove the end of the (-) battery cable where it bolts into the fender and clean it up. Also check the ground strap between the frame and transmission, and do the same. (If you don't find one I may be thinking of another car, but I'm not going out into the 0° to look!) Since you mentioned that you clean the engine compartment a lot I suspect these mechanical ground connections get hit with water a little more than they're designed to, and the contact surfaces have oxidized into bad contact.