I'd support increasing the number allowed provided there were strict conditions to prove the post could not be filled with a qualified American before an H-1B visa holder could be hired, and standing for U.S. citizens and permanent residents to sue if they were denied a job filled by an H-1B visa holder, or fired from a post to be replace with an H-1B visa holder.
You hit the nail on the head.
Some companies advertise jobs overseas without ever checking with anyone in the US who could provide contractors or advertising the position in the US. US citizens don't have a chance as they never even know a position requiring their skills is open.
It seems like IT companies are most likely to go that route although I doubt they're all that far ahead of everyone else who needs skilled labor.