It's not our job to "fix China". It's like some abusive alcoholic -- it's basically their problem, but if you go out drinking with them, and hold their beer when they kill random strangers, and then continue the conversation like nothing happened, you're helping making it worse, and are direct party to normalizing it.
Companies don't have to pull out of China, they'd just have to speak up and never shut up, and China would kick them out. And maybe one day, when the hangover is particularly bad, there might be a hazy memory of an upright person saying "call me when you realized this isn't working".
When people protested against Hitler, it was with slogans such as "murder isn't politics". Likewise, cooperation with murderers isn't business.