"Any time I change my job, green card process has to be restarted from square one"
The most time-consuming part of the process is waiting for your priority date to be current. Once you have your priority date, restarting the process through another company shouldn't really make a difference, since you can just reuse the existing priority date instead of getting a new one.
Theoretically, you can lose your priority date if the previous company cancels your I140. But since it costs thousands of dollars to do that, most companies don't bother.