The H1B is now primarily used by outsourcing companies to move jobs overseas. Previously 15 years ago it was largely used to bring talent to the US not to take the jobs outside.
Changing the H1B so it a) it cannot be used to transfer jobs outside of the US and b) provides a path that after the first 3 years the employee can apply for a green card without sponsorship.
Both those things would largely solve a lot of the current H1B issues.
"some of the most active users of visas for visiting workers are Indian outsourcing firms, which appear to be training workers in the U.S. and then sending them home"
Correct. Outsourcing company sends workers to the job site to document the job responsibilities so that the position can be transferred overseas. Usually it takes about six months to a year.
Changing the H1B so it a) it cannot be used to transfer jobs outside of the US and b) provides a path that after the first 3 years the employee can apply for a green card without sponsorship.
Both those things would largely solve a lot of the current H1B issues.