H1b from India here and I think these rules are good. I am working in the US for the last 7 years and my green card (I-140) was approved 6 years ago. At the current pace it would take another 8 years to get my green card. It's hard for me to switch jobs, can't start any company, can't get promoted to management etc. There is uncertainty in almost all aspects of my life.
I am on H1b, I am not cheap labor. I get paid exorbitant amount of money for my skills. I seriously thought of moving to Canada, but because of our health issues with cold weather we could not move. I love this country, my life, prospects of success once I get my green card and quality of life that my kids would have.
But I am tired! I am so tired!