If H1B visa holders were allowed to find other jobs then there is no point in issuing H1B visas, just issue s regular work visa. The whole point of the H1B visa is to allow companies to hire people for skilled jobs that they are unable to fill with local talent. They are by design short termed and extremely limited in scope so the visa holder must leave the country when the visa has expired.
Widening the scope of the H1B visa shouldn't be an option. I'd like to see H1B visas become even MORE restrictive. Cut the number of H1B visas issued, shorten the term, limit the number allowed per company. In fact, I'd also like to see something implemented where once a visa issued for a company has expired they can't apply for another visa for a certain length of time, also require companies applying for H1B visas to fund programs to train people for the skill they are applying for visas for, something in the ballpark of $50K per year per visa. Would accomplish two goals, would guarantee that there is training for skills that are obviously in demand and would make bringing in H1B workers more expensive, thus possibly forcing companies to hire locally again.