I work for a tech behemoth that imports an enormous workforce from overseas. My overall impression of my foreign colleagues is that they are very competent, hardworking people and the United States is better off for having them here. However, I'm uncomfortable with the kind of leverage my employer has over them. If my boss asked me to work 60 hour weeks or work through the weekends or something, I'm able to say "no" because if they fire me, it's not really that big of a deal. I'll just go work for someone else. I'm not going to get kicked out of the country. For the H1B holders, it's a different story.
Even if the employer never deliberately exploits that situation (and I have no reason to believe that my employer does), there's still that implicit threat in the background.
So, I think we shouldn't leave H1B visas in limbo for extended periods of time. If they've been here for a year or more, they should be able to quit their jobs if they want to without repercussions.