Just out of curiosity, I see that immigration to the US is a huge clusterfuck, but is it equally hard coming from any country? For example, is it easier for Canadians? If so, could somebody immigrate to Canada, get citizenship (or whatever is required) there, and then immigrate again to the US?
The main advantage for Canadian and Mexican
citizens who want to
work in the US is TN status, created under NAFTA for
specific "professional" jobs.
For a Canadian citizen who has a
qualifying job offer, it could be as simple as driving to the border (or airport) with your offer letter and degree, getting approved on the spot for three years, and then continuing on to your new job and home in the US.
TN status avoids a lot of the head-aches of the H1B system: application procedure, specific deadlines, cap on number of visas & associated lottery.
TN status is
non-immigrant. However, you can transition from TN status to Green Card (permanent residency). You have to make sure you do your paperwork and filling correctly to avoid getting in trouble by showing immigration intent while in non-immigrant status.
A popular option is to start with a TN, then change to an H1B later. If something goes wrong such as not getting a spot in the H1B lottery, you still have the TN as a fall back. With the H1B you can then apply for a green card as it allows dual intent (non-immigrant status while showing immigration intent). I don't think changing to the H1B is that great an idea, but you find company affiliated immigration lawyers who seem to recommend it, but I think the only reason for that is they are more familiar working with H1B cases as opposed to TN. The other recent change is that if you are on H1B, your spouse can now work in the US. If you are in TN status, your spouse does not get the ability to work in the US simply by being married to you.
When applying for the Green Card, it becomes your
country of birth that determines how long you have to wait. If you are a Canadian Citizen but were born in an over-subscribed country (Mexico, India, China, others?) you might end up waiting a while for the Green Card.
(I think there is a provision here where you can use the Citizenship of your spouse if applicable to get around that wait, but I could be recalling this wrong, someone hopefully can correct or fill in the details.)
I'm a Canadian Citizen, not born in an over subscribed country, and went the TN --> H1B --> Green Card route. I had a Green Card a bit less then two years after starting my US job, and most of that wait was not related to the Green Card application specifics. That route (minus the TN) would also be available to non Canadians/Mexicans. So if you are lucky, the stars align, you are determined, and don't mind the drudgery of the US immigration system, you can come out ok through the cluster fuck.