H1B is worse than exporting jobs via outsourcing. With outsourcing we are only competing with other countries for jobs, but with H1B we get to compete with other countries for housing (in our own towns) too.
With outsourcing it's basically impossible to compete since the country being outsourced to has lower salaries for a reason - because they have a lower cost of living and people can afford to accept lower salaries. If you are a US citizen facing US cost of living (housing, real estate taxes, college costs, healthcare, etc, etc), then how can you compete with someone who can afford to do the job for way less ?!
At least with the H1-B they are paying US taxes and spending at least something in the US economy, but outsourcing is also taking US corporate profits, mostly coming from US consumers, and sending it overseas to benefit a different country!
Trump has said that US companies should be more patriotic in their hiring, but nothing will happen without changes to the law or tax code.