The key thing however is that the H1B is a non-immigrant, temporary worker visa. Expecting wine from water doesn't engender much sympathy. Using H1B as a pathway to a green card is not any different than expecting to convert an EU tourist visa into a work permit. The long waiting times for a green card are a symptom of expecting an immigrant outcome for a non-immigrant visa.
If people want to immigrate, then isn't the correct choice to obtain an immigrant visa?[1]
An H1B is a non immigrant visa[2]:
"Temporary worker visas are for persons who want to enter the United States for employment lasting a fixed period of time, and are not considered permanent or indefinite."
So I'm confused. How is it some kind of tragedy when the visa under which you are working doesn't provide a quick path to a green card? Isn't the visa doing exactly as advertised? Furthermore, providing the H1B spouse with a work permit -- doesn't that mean that the spouse can work in a non-shortage occupation without restriction? Doesn't that necessarily mean that the spouse is able to compete with Americans and permanent residents for jobs that are not hard-to-fill? Basically 1 work visa provides 2 jobs? That doesn't seem like the intent of the H1B program which is to provide temporary workers of high ability to fill specialized jobs for which there are verifiable shortages. It certainly isn't designed to be a recruiting tool for big tech: "Come work for us and your spouse can get a job too! The salary is lower than an equally qualified American, but since your spouse gets to work too, you'll have enough money to live in San Jose and maybe one day, you might even get a green card!" That seems to be the promise the H1B crowd is expecting.
I'm not opposed to immigration -- but H1B isn't about immigration; it's about filling otherwise unfilled jobs in specialty occupations for which there aren't enough qualified Americans. If the sole purpose is to fill shortages, then providing the spouse with a free-riding right to work in any occupation (not shortage areas) is not consistent with the purpose. If H1Bs can't afford to have a non-working spouse, then they ought not accept the jobs at the salaries offered. What's happening now is that the working spouse's job is actually a subsidy to compensate for an H1B wage that is lower than it should be. That lower H1B wage is then being used to displace American workers.[3]
[1] https://travel.state.gov/content/travel/en/us-visas/immigrat...
[2] https://travel.state.gov/content/travel/en/us-visas/employme...
[3] https://www.nytimes.com/2015/06/04/us/last-task-after-layoff...