A multi-party system is only really fair with some kind of runoff election, so everyone gets a chance to decide on the winner. But we have no runoff elections in Canada, mainly due to cost and inconvenience. But now with computer systems for tallying the results, a cheap and effective solution is available.
A computer vote counting system can give us a result comparable to a runoff election without a costly second trip to the polls. Here is how. On voting day, you vote for your favourite candidate, and you also have an alternate vote (if you wish) for your second favourite candidate. The computer keeps track of the primary votes, and for each primary party's vote, it also just as easily keeps track of the alternate vote. When the votes have all been counted, the computer immediately figures out the top two parties based on primary choices, then adds in the total alternate, or second choices if your party was not in the top two. The computer, within seconds, and without any extra cost, tallies the votes for the ultimate winner, taking in the alternate choices of the voters. The only extra cost, assuming computers are counting the votes already, is in the initial one-time only, setting up of the computer. There is no inconvenience to the voter other than marking one extra X on the second part of ballot, and even that is optional.
Why is a second alternate vote like this needed for fairness? Don't we already have a fair system of voting in Canada? No we don't, because one party can win the vote even though the majority of people are opposed to that party. I'm going to give a concrete example.
In Quebec, you have the Bloc Quebecois party, that favours separation for Quebec. They are the only party in favour of separation, against four other parties in each riding that favour staying within Canada. Assuming that this issue is important enough to the voters, it is undemocratic to have the anti-separation votes split up between four competing candidates. If indeed this issue of separation is the most important issue to this voter, I think they would be careful not to put the Bloc candidate as their second choice, since they are not just voting for one of the federalist parties, they are also voting against a separatist party.
A few years ago, in Ontario, we were given a referendum to adopt a new reformed system of voting. Unfortunately the proposal was burdened by the addition of 45 new members of the provincial parliament, so the voting reform proposal was very unpopular and did not pass. It does not mean we don't need voting reform, it only means that particular solution was no good. There are plenty of good ideas out there. For example, this new proposal for a virtual runoff has no substantial extra cost, such as a second runoff election or the addition of dozens of new Members of Parliament. And it still solves the problem of special interest regional parties holding too much power.
Update: Here is a link to the web site Fair Vote Canada working toward a better voting system. http://www.fairvote.ca/
Update 2: I need to give credit for the system I described here, it is the "Top-two Instant Runoff" election according to Wikipedia, and is currently the method for electing the Lord Mayor of London, England. http://en.wikipedia.org/wiki/Instant-runoff_voting#Two-round_systems
Picture: I have modified the Canadian sample ballot to indicate a place for a second vote, and hopefully it is understandable to all in French and English.