It is what it is.
It gives the Canadian team an unfair advantage that they get to host so often, but making money is a large part of the equation. If the other countries stepped up, and mostly their fans stepping up and attending, it would be easier to not host so many tournaments in Canada. The broadcasting issue too. As a US fan, the fact that we don't have a true US broadcast (they have two guys call the tournament off a monitor in the NHL Network Studio with TSN production) needs to be corrected. Canada shows a much greater commitment to this tournament, and the others need to change that, if they don't want so many tournaments hosted in Canada.
Sweden is also one of the countries that advocates for Russia to be banned from this tournament. I don't think Canada or USA care that much. If you want a more competitive tournament where Canada doesn't have so many advantages, you shouldn't be one of the drivers of making the big 5 in international hockey the big 4.