> Green Card process has to be restarted from the square one
That's not fully true AFAIK. The green card (GC) is a 3-step process - PERM, I-140 and GC itself.
If you already have your I-140, unless your previous employer cancels your I-140 (which cost them a few thousand dollars), your new employer can just start over the third step of the process. This is not optimal, sure, but it is not square one either.
If you have an approved I-140 and your I-485 has been filed and pending for more than 180 days (or if you filed I-140 and I-485 concurrently and both have been pending for more than 180 days), you may switch to a same or similar job under the AC21 portability rule. Also, starting 17 January 2017, employer withdrawal of an I-140 pending for more than 180 days will no longer cancel the petition.
So if you can get as far as the I-140/I-485 filing, you should be good to go, though IANAL (and you should retain your own to guide you through this process).
Yeah, but it's not like the employee is paying for the green card. I have loads of friends on H-1Bs (I'm on one as well) and no one I know has paid for the green card application. That's on the employer and they know what they're getting into when they hire a foreigner.