The US certainly has the authority and right to disapprove H1-B visas, especially if the company cannot prove it did everything in its power to hire an American Citizen. They should also be able to prove they are paying the prevailing wages for that help instead of trying to replace whole workforce with cheaper foreign labor.
Further, I’d also like to see that H1-B visa holders are not granted any waivers, privileges or preference over others in the immigration lottery/quota system. Physical presence here shouldn’t be an advantage, IMO.