I've been a proponent of levying an excise tax on H1-B visas equal to the salary amount paid to the person on that visa (including benefits, if any).
If you really need the lower salary worker then sure, you can have them, but it will cost you.
I would also make the company sponsoring the H1-B visa responsible for all relocation costs when they fire someone on the visa.