that would be the only feasible solution
I would not suggest you migrate to Canada unless you are sure your U.S. Greencard is hopeless.
I used to be the same situation and visited Canada twice(2 weeks in total), it's not difficult to find a similar job in Canada,but eventually I had to give up my Canada Immigration status after thoroughly comparing the lose-and-get difference.
Somehow I think I would be very regretful and not a man without getting this plastic card and quiting here after so many years of endless waiting.. but who knows, maybe it approves your Canada move is better in 10 years...
best luck