AV (alternative vote) would be a good system here - would stop it being a two party race in most elections, and would give a clear signal in the case of a tight election, like this one, that your second choice candidate could be in power.
So at the moment I would vote Conservative. If enough people voted the same as me, we'd get a Conservative seat for my constituency.
If we had AV I would vote Conservate > LibDem. That would mean that if the 1st vote was inconclusive, if no candidate was the first preference of a majority of voters, then the candidate with the fewest number of first preference rankings is eliminated and that candidate's ballots are redistributed at full value to the remaining candidates according to the next ranking on each ballot. This process is repeated until one candidate obtains a majority of votes among candidates not eliminated. I hope that makes sense.
Basically if 33% voted DC, 33% NC, and 20% GB, with the rest voting for others, then the 33% that didn't vote DC or NC would go to 2nd vote.
The balance of that 2nd vote would go onto DC and NC's totals, and every one else would be eliminated.
It's how Labour and Lib Dems vote for their leaders, so it's not new to the UK system.
In theory PR would be nice and democratic, but it needs so many caveats, such as thresholds for extremist parties and independants.
Labour announced the referendum on electoral reform in just enough time to see it pushed into 'wash-up', so we'll see what happens with the next Govt.