The guys I'm going with have good ratings. Both Home Depot and Lowe's recommended them. They quoted me a much lower price ($450) and were really nice about telling me exactly what was wrong, what needed to be fixed, etc.
The truth is, my water heater is 29 years old, and it needs to be replaced. It could be fixed for $150, but it'a not going to solve my problems, just prolong them. The tank is about a third of the way full of calcium. The guy banged on it a little and I could tell exactly what he was talking about. Plus, the money I'm going to save electricity wise will probably make up for the new heater in less than a year.
This is probably also just a good investment in my home. I wouldn't buy a house with a 29 year old heater (though apparently I bought one with a 27-year-old one). Never again.