My water bill has been nasty, averaging about $65 a month. Here is my very bad-ass solution to the problem: I keep a 5 gallon bucket outside my shower. My shower head is the type on a hose. When I start the shower I put the shower head in the bucket. It usually takes a gallon or two to get hot. I then use the contents of the bucket to flush the toilet (pour it into the tank immediately after flushing, you can also pour it right into the bowl but it doesn't work as well).
I also started keeping another 5 gallon bucket inside the laundry tub under the washing machine discharge hose. It fills with the washer discharge and overflows into the laundry tub when full. I use this water to flush the toilets as well and plan to use it to water the lawn and garden in the summer. In the spring I am going to rig some rain barrels.
I was also horrified when I figured out that my on-furnace humidifier was pissing away about ten gallons a day (the discharge tube is also in the laundry tub, I figured this out by putting a bucket under it). Needless to say I lowered the humidifier almost to the off setting.
I know it may sound ridiculous to many folks, but the other great thing about this method is that my biceps get a little extra work out and it is a constant reminder to me not to waste water.
PS - my brother-in-law went with a gas tank-less heater. He hates it. It cost a fortune, he had to put in a special chimney liner, and he says the water is not as hot as with a tank, especially when there are multiple simultaneous demands placed on it. When my old gas tank heater dies I'll replace it a higher efficiency model of the same type.