How do you peacefully and rationally protest against those who are ready to spit on you for your ideals?
I don't really know the answer to your broader question, but we have several pretty spectacular answers to this part of it.
Practically speaking, I think the problems liberals (and specifically Democrats) have getting and keeping political power are as follows:
1) Many liberals (from big donors to your average citizen activist) seem to only be attracted to the 'sexy' or 'social' aspects of politics (e.g., this upcoming women's march on Washington). Liberals are really big into marching, signing petitions, and other similar forms of protest, esp around flashpoint topics (e.g., women's reproductive rights, LBGT rights, combating climate change, protesting big banks). There's nothing wrong with that, of course, but I haven't seen much evidence that it works in the modern political era. I'm suspicious that it allows liberals to feel participatory without actually accomplishing anything. You know what DOES accomplish things? What the conservatives do, which is learn every boring detail of local political process, start at ground zero, and mobilize the hell out their voters to take over ALL the offices at the local level. Then move the game up and out. With each step, conservatives have been able to make changes to procedural rules that solidify their gains and make it easier to hold those gains in the future. And because they organize so much better than liberals, they naturally have a MUCH deeper and better prepared bench of up and coming 'talent'. That is why they now hold the vast majority of state and local offices across the country.
To sum up: Conservatives are much better than liberals at making plans that take decades of work to pay off, limiting themselves to a smaller number of achievable goals, and then busting their asses for years to reach those goals. To sum up, conservatives possess much more interest in, and tolerance for, the dirty, boring, day to day grind of building a political machine than liberals seem to.
2) Liberals seem to fundamentally misunderstand certain things about human nature despite being perpetually smacked in the face with them. Humans are wired to respond to emotion first and reason second. Also, humans are wired to be tribal, to discount the long term, and to view resources as somewhat 'zero-sum' (whether they are or not). It's our default to separate ourselves into in-groups and out-groups using the most obvious criteria at hand. If nothing obvious is at hand, we will look for something to use to self-sort, even if that criterion is totally meaningless (as Dr. Seuss well knew). And the more Democrats talk about each special-snowflake subgroup of their potential coalition, celebrate their uniqueness, and talk about how special policies should be in place for each group, the more their message divides the electorate. (Note: I didn't say Dems shouldn't create the policies to help certain subgroups that need it, only that they shouldn't focus on the narrowness or specialness of that policy or subgroup in messaging).
Here's a crucial point: Although people of different 'tribes' will readily learn tolerance of each other when they are in position to actually develop personal relationships with each other, mere casual exposure to different 'tribes' often has the opposite effect because it triggers our in group/out group response. Democrats need to STOP spending so much message time actively highlighting how diverse the nation and start focusing messaging more on the commonalities of their constituency. (Successful Dem candidates tend to not fall into this trap as much...e.g., Obama and Bill Clinton).
Incidentally, one of the things that I find perplexing about the current Dem struggle for Party Chair is one leading contender, Keith Ellison, is almost perfectly designed to symbolize the more problematic form of messaging: he's a black Muslim. Now, I personally admire Ellison, and for all I know he'd be a great party leader...but the only way the Dems could more aggressively broadcast the the messaging problem I noted above in the form of an individual person, is if Keith was also transgender LOL. I'm not sure who, if anyone, would be a better choice, but Ellison seems an ironic front-runner given the views of the swing voters of the Midwest who just kicked the Dems out of power.
3. There is a really interesting book out The Righteous Mind,
by Jonathan Haidt, that I think should be required reading for all politically active liberals. He posits that ethical and moral principles that underlie our worldviews cluster around six fundamental ideas: care, fairness, liberty, loyalty, authority, and sanctity. Haidt says that people who identify as conservative tend to place more equal 'weight' across all six ideas when forming their ethical principles and worldview, whereas people who identify as liberal tend to dramatically weight only two (fairness and care) and can be downright dismissive of some of the others (incidentally, as a left-leaning centrist, I personally fit Haidt's formula). Caveats aside, I suspect Haidt is really onto something in terms of how the two parties 'message' to activate their base. He says conservatives campaign on messages that seek to activate emotions associated with all six ideas; whereas liberals campaign on messages that tend to focus excessively on fairness/care. This works fine to activate the most liberal voters, but swing voters and moderates would likely be more responsive to more 'balanced' messaging.
4. Finally, in terms of policy, I think the tiresomely smug Thomas Frank is correct yet again. The Dems have more or less practically abandoned the working class (of all races) that used to be their base vote. Their policies and messaging are now much more heavily directed squarely at MY demographic: college-educated, upper-middle income, creative class people. They need to actually pursue and message more policies that truly help the working class and the lower middle, and not worry so much about my demo (which is still doing ok in this country).
Ok, Dem strategists, give me a call!