For the 10 years I've been on hacker news and this is the first time I felt compelled to ask a question.
I see tons of remote full-time jobs especially on StackOverflow in the US for 100-120K USD which to a remoting Canadian is an insantity and never once will I get a reply. If its a contract job then yes I'll get a response, or if its Canadian company I always get a response but a US startup wants US only employees. The Canadian salary wage for programmers is paltry especially for remoting. It sits between 55K-70K CAD. I regret not moving to San Francisco years ago and the only way to get a fair wage was to go self-employeed and load up on 4-5 contracts a time and now you're running a business. Its not even hard to hire a Canadian since you can just contract them out.
How can you get US companies to consider hiring a remote Canadian? There must be a way to hack this.
As you have found, contracting is probably your only option if you want to work for USA companies and even then you might benefit from incorporating in a suitable USA jurisdiction.
In my experience, the amount you are paid generally reflects the cost of living where you work. Although you might earn far more in SV or SF, your living costs will also be much higher. In the long-term you might not have been able to save any more money.