And bilge areas. If you can't suck out 100% of the water, fill with non-toxic antifreeze and then pump out as much as possible. Others have also given you good advice, so no need to repeat.
As for draining then bypassing the fresh water heater, I just leave the drain valve open and use a double-barbed coupler on the in/out water hoses, after removing them from the heater. I don't worry about water freezing in the tank so long as it has room to expand its fine. I worry about water in hoses, valves, and other restricted spaces -- cracking the surroundings.
Don't forget the holding tank and discharge pump either. I get pumped out prior to hauling then flush extra non-toxic antifreeze through the heads, then pump out again. After hauling I pump one more gallon of non-toxic antifreeze through, then pump out through the overboard discharge pump into a 5 gallon bucket that gets flushed at the marina men's room. Overboard seacock is left open on the hard. (all are)