KISS Keep it simple stupid!
Eliminate independent contracts. If someone does work for a company, unless truly self employed or is employed by a third party, then they are employees of that company. Under this model, everyone is either self employed or employed, but in one way or the other, they are either owner of a company* or employed. No one is contracted.
Everybody knows why these companies use the independent contract model, to dodge responsibility. If a company can't make it using the employee model, they don't deserve to make it. There's no need for this to be so complicated that even the courts seem to have trouble figuring it out, especially when the fix is so easy.
*I do not consider an Uber driver as being an owner of a company because of Uber's rhetoric about Uber drivers being their 'own boss' and 'working for themselves', or being their 'partners'. All complete BS.