It'd help in many ways, but it also makes the H1-Bs situation far more precarious. Modern abuse and quotas means almost all H1-Bs come from those nasty companies, but even before that, many people chose contracting firms to handle their immigration because you are far safer from layoffs and such. I remember when I was an H1-B, a long time ago, going direct, and my then employer had round after round of layoffs. The moment I saw the pattern, I had to look for another job IMMEDIATELY, because getting hit by one of those layoffs meant a tiny window to find another employer or leave the country, and that new employer had to file for a visa. Through a contracting firm, a layoff might mean a job change, and maybe not getting paid for a few weeks, but it's far less onerous. This gets even harder when also applying for a green card. It's not uncommon for companies to ask immigrants that they want to sponsor to sign that they have to pay the immigration fees incurred in the green card process if they leave willingly before the green card is done plus one year. When going with direct employment, it also means you cannot run without taking a major financial penalty. And if you are laid off in process, then you better get a job extremely quickly, or your green card process might have to start all over again, and it can take many years.Getting my green card got a big weight off my shoulders.
So your proposed change to the H1-B program sounds like a wonderful idea as long as it comes together with something to minimize the precarious conditions of H1-B workers that easily qualify for green cards, and work in the US for 5, 10 years while they wait for a visa number. This should help American workers too, as the minute one of those workers gets a green card, their job mobility increases, and with it, their negotiation power. I got a 30% raise with my first job change after a green card. In 5 years after the green card, my salary more than doubled.
Having people as temporary workers for a decade? You've got to be kidding me.