There may be quite a few parties, but only two parties have formed government in Canadian history: the Liberals and the Conservatives (as well as the united Liberal-Conservative Uniparty during WW1). Canada's first past the post, Westminster system means that only milquetoast, big tent, compromise parties ever take power. I don't know what the solution is, however; maybe it's just a fundamental issue with democracy.
If you get rid of FPTP and replace it with ranked voting, you get the kind of bullshit that happened with clear frontrunner Bernier losing the Conservative leadership race to Literally Who Scheer--who most people weren't even tracking, and only won the leadership because a lot of people must have put him down as their ~3rd choice, whereas Mad Max was more divisive, love him or hate him. Long story short, ranked voting churns out crappy uncontroversial milquetoast compromise candidates. And what happens in proportional representation? Yes, more fringe ideas tend to get actual representation in parliament, but what's the end result? The government is formed out of a coalition of parties, and in PR, that almost always turns into the same old coalitions of shitbag neolib globochomo oligarchs running the show. What do Germans get out of the AfD's presence in their Bundestag? All the other parties refusing to ever collaborate or cooperate with them.