Really simple fix: social pressure and expectations should be that every company that uses open source pays a fixed amount of their revenue (is 0.1% low enough to be negligible for the companies). Companies that don't should shunned.
How about we skip the social pressure and levy a tax on them that is used to shore up a sovereign fund for OSS.
They won’t even attempt to read ToS, you think they’ll shun companies?
The problem is, people who make that decision can either spend 0.1% to support open source and get return on investment in terms of better business performance in 2-3 business years. Or they could pay themselves 0.1% in bonuses right now and get an immediate return.