We have an easier solution in Australia - preferential voting. If, for example, Labour is your first choice and LibDem your next, and you quite like a certain independent, tolerate the Greens, but you hate the Tories, you would vote for the candidates:
Labour 1
LibDem 2
Indep 3
Green 4
Con 5
If Labour only got 45% and Conservative 46% of the primary vote, the second preferences would be counted as full votes. If more considerably more Labour voters chose LibDems as second choice, this would get Labour over the line.
Preferences are ignored when one gets over 50%.
Also voting is compulsory - well, you have to turn up and get your name crossed off, but you can put in a blank. These are called informal votes. Because voting is compulsory, there are many polling booths and systems in place for postal voting and voting at home.
It is one thing about Australia that I think is great - the electoral system. There is an independent electoral commission too, which changes boundaries when demographics change.
Our system means that people are more likely to get the government that they want, or at least one they can tolerate. It means post-election coalitions are less likely, though we do have a permanent coalition between two Tory-type parties, the Liberals and the Nationals. At least, people know what they are voting for. Last time, though, Labour and the conservative coalition were so close, Labour had to do a deal with the greens.
In the UK people voting LibDem probably had no idea they were facilitating a conservative government, And then when the LibDems renegged on a vital promise, no wonder folks are peed off.
I would never trust LibDems again. Not that I trust any of them really.
Oh, just remembered, our last Tory PM, John Howard, introduced the concept of two kinds of promises; core promises and non-core promises, the latter being breakable.
Yeah, right.