Reforming h1b is a must. We should replace the current h1b lottery system with a salary based auction system. So whichever company pays the most salary gets the visa. Of course, we have to normalize for location & exempt nonprofits. (otherwise, rich bay area companies will get all the visas).
In the long run, we should go for a point-based immigration system like Canada.