I can only speak to my own experiences.

> 1. Not accepting a higher salary offer, but going with a more 'safe option'

For me, the 'safe option' came with the highest salary. Usually the riskier bets come with lower up-front payoffs in my experience.

> 2. Having to negotiate for asap Green Card application, vs. salary

I've not had to do this. Most employers I've interviewed with were either (a) early stage and let me do whatever I wanted re: immigration -- even to the extent of saying you drive, and submit the bills or (b) later-stage companies that had fixed corporate policies re: when the green card process can begin and it's initiated by the manager. My most recent employer began the PERM process during our first 1:1 and the my recruiter was very curious why I was so interested in the process since it's totally mechanical from their perspective.

This is a criticism of the green card process, not intrinsic to H-1Bs.

> 3. Not being able to accept a promotion to a manager, as I had a ongoing Green Card application as engineer/ic, and that would jeopardize my green card application

Indeed but that is not actually a function of your H-1, right, but rather a function of that fact you'd kicked off your green card process, a different process. With it's own insanities.

> 4. Not being able to create, or join a very early startup

Create, no. And that's a huge loss to America. What ever happened to Startup Parole anyways?

Join, sure. If you really wanted, you could easily have talked your company into letting you handle the process and submitting the expense reports. All you need for an H-1 is an LCA and prevailing wage. LCA isn't hard, and prevailing wage is low, a common complaint of the H-1 program. For the bay area it's like 90K for a software engineer.

> 5. Having high anxiety, for all the paperwork required, and the RFE recieved after switching jobs...

Yep, that sucks for sure, and is totally fair. There are ways to mitigate this. You can apply for an H-1 transfer speculatively while at your old employer. Once successfully approved, you can make the hop. There's no obligation to go through with it if you later change your mind. I think this is one of the lesser known features of the H-1.

> 6. Inability to switch jobs, if you have a Perm/Green Card application ongoing, as it will rest it (even for non-capped countries, it might take 2+ years for the whole process to go through)

The inability to switch jobs isn't H-1 related, again, it's a function of the green card process which is, as I conceded earlier, very stupid. But also, transient. Once you hit 180 days in Adjustment of Status, AC21 portability kicks off and your employer can no longer withdraw your I-140. You can then move largely at will -- even to self-employment, for the few remaining weeks it takes your I-485 to be approved. [1]

> Yes, you can switch employers, but at great costs, and at risking eventual deportation (if you don't play the immigration game right, and get the Perm/Green Card in time).

Again, yes, but this also not intrinsic to the H-1 but rather to the green card process. With that in mind you're eligible to indefinitely extend your H-1 status as soon as you have an approved I-140 (which you can get in 14 days) in 1 or 3 year increments.

[1] http://cilawgroup.com/news/2012/10/01/rules-governing-i-485-...