As parent says, the article is utterly wrong. There are no per-country caps on H1B. The caps are on Green Cards (permanent residence) issued under certain categories, EB2 (Employment Based 2nd) being the most affected.
The problem is that all countries, irrespective of their population, get a fixed ceiling of 7% of the total allocation of 140000 GCs issued per year. So, H1B workers from China and India have to wait at least 5 years, sometimes 10 years depending on the whims of USCIS, to get their Green Card. During that time, they have to continue being employed by the same company that originally filed the GC application, and in a materially similar position as at the time of filing. A major change in job description requires refiling. If you don't realize what that means, it makes those workers subservient to their employers. This has quite the opposite effect that you think it does - it doesn't help US workers any since these foreigners are already employed, but it gives the employers a position of power from which they can dictate terms on pay raises and promotions since they have the workers by the leash.
This is definitely hurting US tech companies because many excellent techies getting good salaries are leaving the US and setting up their own companies either in their home countries or in some other immigration-friendly country, Canada and Singapore being the top destinations. They would rather spend 2 years setting up their own company and getting permanent residence and a path to citizenship there than toil for 6+ years in fear with no certain timeline on when they'll become a permanent resident, much less a citizen of the US.
I myself am an example of a person who left the US after being there for 11 years. I was on H1B and making $120k/yr, so definitely not an underpaid worker. But I'm loathe to serve 6 years in a big corporation doing the same job day in and day out. So, I moved back to India, and I'm using my contacts in the industry to provide embedded software and hardware development services to small companies in the US. At the same time, I'm providing Industrial Automation consulting services to Indian companies and am currently working on a new data logging product for the South African market. So, the US lost the tax revenue it would have received. It lost a bunch of local jobs due to US companies outsourcing work to me in India. And it lost the new jobs I'd have created there if I'd continued building new products in the US.
So, you decide what works in US's national interests? Keeping people like me away from that country, or giving us an incentive to set up companies of our own?
And if you claim that I'm a minority, that's an irrelevant argument. A very useful minority is still being alienated. I loved being in the US, and would happily go back if the immigration situation becomes easier and more deterministic. But I seriously don't see current US politics being conducive to ANYTHING that's of real value to the country.