Mark Wadsworth put up a post recently on what he considered to be the least bad voting system - do please go read it, it's interesting stuff, but I don't think it would solve the problem that we have here of two monolithic parties that control the country despite having very little total support.
I did put up a comment there, but the discussion was fairly minimal, so I thought I'd re-post it here:
A few quick thoughts...
This does still mean that a vote for anyone who doesn't rank highly is still wasted. Perhaps the party can reallocate a few (one third?) of the votes for members who definitely aren't going to get a seat?
I still think there's going to be some barrier to entry here - a small party that does incredibly well and gets 50% of all the votes of one member's-worth of constituency (which would guarantee a win in the single member constituency) would have only 1/10th of the vote in the 5 member MMC proposed.
Consider if two large parties get 1/3 of the vote each, and the remainder are split between smaller parties (including the 1/10th to the party that we're looking at) the large parties could simply give each of their top three 1/9 of the total vote, meaning that they'd have a fight for the top spot (likely going to whoever had a few more votes) and they'd end up with all of the seats between them.
This would be lessened somewhat if people voted for individuals instead of parties, but most tribal voters would literally vote for a plastic toy with a red/blue (delete according to taste) rosette on, so chances are they'd all be votes for the party directly. (although it occurs to me, you could make votes for the party itself worth less in comparison to direct member votes, as direct member votes have the risk that the entire vote could be wasted).
I would perhaps be a little more radical in electoral reform. We have ~60m population and ~600 MPs, why not just make it so that each MP requires a pledge from 100,000 people. They would then represent those people directly, rather than a geographical area. Each person could only pledge to one MP, of course, and for the avoidance of doubt you would not be able to change your mind instantly, perhaps a minimum term of 6 months or 1 year before you can remove or change your pledge? And if an MP got 200,000 pledges, he or she would get two votes in the commons. Simples. And under this system, every vote counts.
If we must stick close to the system we have now, I'd probably halve the number of constituencys and run the voting as we do now, then I'd add on a PR system that assigned the other half of the seats based on the number of seats each party should have got nationwide.
You could even question the need for parliament altogether. We have the technology now that we could build a computer system where everyone in the country (identified by NI number perhaps?) could vote online on our laws, giving a truly democratic result. Of course if it was built by the government the system would be very insecure, full of faults and likely have big gaping back doors so people could cheat, but it's an idea...