Oddly (for me), my view would be that one should buy the best. If that happens to be local, then it's local; if it's not, then it's not. Although I am sensitive -- perhaps over-sensitive -- to the problems of market failures, in this general case, it seems the market is the most effective mechanism to encourage competition between producers in order to produce goods that are genuinely better than those currently being consumed. In other words, if I am generally buying non-Canadian goods, and this is an instance of a general trend, then smart Canadian producers would look at the products being developed by whomever is "winning" in the marketplace, and develop their own accordingly -- either trying to match or surpass their quality.
Of course, there are (at least) two very common problems with any market-based solution, the first being consumer knowledge, the second being the methods taken to compete. If consumers don't know what they want, or need, and don't really know what the value of what's available, then we get market failure. If producers choose to compete not by developing better products, but by developing products which appeal to base wants, improving their advertising strategies, and/or agitating for protectionist trade policies, then, again, we get market failure. These would need to be legislatively controlled -- the only mechanism I know that would work.
But, assuming that these controls are in place, then why not let the market decide this issue?