Well, currently we have the lib dems sharing (some sort) of control in Westminster, so it's not true to say it's always labour and the tories in power. The SNP have a majority in Scotland too, and they have done some genuine good with regard to a lot of issues - tuition fees, bedroom tax, free prescriptions etc, and they could very well end up with many more MPs what with Scottish Labour doing their best to implode.
Mainstream parties get majorities because of apathy. Some people will always vote for them, but all it would take is for those people saying "nothing ever changes, so why vote" to vote for a party like the greens or the SNP to give them seats. Next years GE is looking like it will end up with no overall winner again, so if you do want the minority parties to have a say, you need to vote and, if you are so inclined, you need to engage with politics on a local level - talk to your candidates, perhaps even drop a few leaflets for them and get the word out that there are alternatives.
Rant over. Sorry, but I find the "not voting as a protest" argument completely self-defeating. It's just giving up, and RB himself offers nothing but self-serving egotism.