So an obvious solution would be allowing H1B holders to freely change jobs, even with gaps. Accordingly, the employers won't be able to lock the visa holders. Then there will be fair competition that makes sense.
But anyway the big companies don't want to lose the "lock" so it would be hard to change.