My preference for a fairer voting system would be for each MP to have voting power within parliament equal to the average number of votes their party received at the last general election. (There would probably have to be some sort of electronic voting to implement this, rather than the archaic procedures currently used.)
As now, the candidate with the most votes in any constituency would be its MP.
For every party mainstream enough to get at least one MP elected, their voting power in parliament (assuming all MPs voted the party line) would be exactly proportional to the number of votes the party received in the election, and not be related to the actual number of seats they won.
Had this been in place at the 2010 election:-
A Labour MP would have had 33K votes
A Conservative MP would have had 35K votes.
A Liberal Democrat MP would have had 120K votes,
The sole Green MP would have had 286K votes
One Liberal Democrat MP would have had the voting power of 3.6 Labour MPs, and the Green MP would have had power equivalent to 8.6 Labour MPs.
UKIP would have had no power, as they won no seats. The may do better in 2015.
From an individual voter point of view, the only wasted votes would be those cast for a party not mainstream enough to win even a single seat.