The central mistake the Democrats made this year was not finding unity on more centrist measures in the face of unified conservative opposition. After the unanimous GOP opposition to the stimulus package, Congressional Dems should have really pushed their caucus for unanimous support on each of Obama's future initiatives (health care, energy bill, etc.). If it won't be unanimously defended, even in the most conservative districts, then it doesn't come up for a vote. No publicity until they have negotiated a final version and no petty disputes within the caucus on things like the public option that are off the table in swing districts. Make the bills a bit more moderate than they actually were, but make it very clear that, at the end of the day, if you have a D after your name and you vote against HCR, or climate or financial regulatory reform, then you might as well become a Republican because you will never get a dime of funding or campaign support again. This is what the GOP threatened for any defectors in their caucus, and it worked. Even Cao fell into line.
I think a lot of people don't like the health care bill precisely because it was created in this fashion. Good public policy was put second and politics was put first. A healthcare bill with a public option wouldn't have been a more liberal or conservative bill, it would have been a more effective bill. That is what America needs right now. The Democrats played politics and they got burned. Republicans will undoubtedly do the same thing, as you already alluded they are, and will get burned for it too. Expect several wave elections in the coming years until one party gets it.