The Democrats have to head more to the center, especially on the war issue. That's where Bush won the election.
They also need to be less condescending towards the South. Calling southerners racist homophobic rednecks is a sure fire way to get them to come out in droves against you. This especially seems to have had a big impact on Ohio, Florida, New Mexico & Iowa. If Kerry carried those states, he would be president in a landslide. The Democrats are seen as elitist snobs, and unless they dispell that myth, they won't win enough to take the presidency, let alone congress.