ex H1B here. I left US because of this broken system. There are many bad apples than good ones utilizing the H1B system. Indian bodyshops, one room consultancies all over New Jersey. Even companies like Sprint,Walmart,TR,Garmin,BOFA,Chase,Visa,AMEX, they all game the system and exploit H1B employees because of their situation. There are a lot of fake payroll running firms too which keeps the fake H1B employee's status valid. There are firms which apply for "future greencards" while the beneficiary is not even physically present in the US.
Even many non CS graduates faking their resumes as CS ones and applying for "specialized" positions in IT. I had enough of this and left US and immigrated to Canada for good because I am pretty sure that my future will be affected by these bad apples gaming the system. I do not like Trump personally, but he is right about the H1B immigration system.
If H1B system is a lottery, then why is it called a "skilled visa" ? H1B should be merit based so as to weed out the bad apples and body shops gaming the system.
Probably I should write a book on "How to game the H1B system and get away with it". The book will be an eye opener for this broken skilled visa system and its loopholes.