You've misunderstood Supply and Demand a little bit and by not adjusting your price, you're probably hurting yourself.
In 'Supply and Demand' - developers in high cost of living areas will have a different 'supply curve'.
So the 'market clearing price' for developers in 'high cost of living' areas will be higher.
"In Canada, skilled negotiators will be able to increase their salaries to be more in line with their american counterparts."
No, actually, 'skilled negotiators' who understand 'Supply and Demand' will realize that their position to demand salary is systematically weakened by the fact their costs are lower.
Their price will be 'higher' than that for local jobs, but lower than their American counterparts, and definitely lower than Bay Area prices.
Finally - your comment is missing the Giant Elephant in the room.
There are 50x more developers out there in much lower cost of living centres than Canada.
You literally cannot afford to accept a job for <$40K a year - but developers in Poland can.
If we are going with the premise that 'Talent is Now Global' (And BTW I don't agree with this mostly, but for the purposes of this comment, assume it is true) - then the 'lower cost of developers' in other countries will affect those in 2cnd tier (i.e. relatively wealthy but not NYC/SF) cities.
I'm based in Canada and just hired a bunch of E. European developers for 1/3 the cost of local devs. and they are great - at least for the work I'm having them do.
Try to take a more nuanced approach.
Edit: imagine if you were selling widgets. Same widget. The price in USA is $1 per widget, by manufacturers made in USA. Their cost is probably 90 cents to make.
You live in Ukraine and your cost of making widgets is 50 cents. There are a bunch of other widget makers in Ukraine with the same cost.
When you and your competitive peers in Ukraine take your widgets to market, do you think you're going to be able to sell for the same $1 as the US sellers? No.
Because some of your 'peers' will lower their price a little bit in order to generate sales and that will bring the price down to where operating margins are tolerable. Probably 57 cents or something like that.
So this notion that a 'Foreign Dev' is going to earn the same salary as those living in SF/NYC - all other things being equal - just is not true. It's not a 'lesson that companies need to learn' - the market already has that built in.