I thought about it for only a few seconds, but here is one way to do it. Have users self-report an "addiction factor", then fine the company based on the aggregate score using a progressive scale.

There is obviously a lot of detail to work out here-- which specific question do you ask users, who administers the survey, what function do you use scale the fines, etc. But this would force the companies to pay for the addiction externality without prescribing any specific feature changes they'd need to make.