It's simple, but not easy: give people ownership of their own data. Currently all my data - age, gender, location, profession, my browsing habits, etc - are given straight over to social media without monetary compensation, and they then sell this data off in the form of targeted advertising.
Historically people were paid to do marketing surveys, etc. So: give people legal ownership of their data. When I sign up for social media, I should be able to go through and tick boxes to rent them my data - and the more data I'm willing to share with them, the more they have to pay me.
This would solve most privacy concerns.
This would have flow-on effects to the censorship concerns. Social media companies would then decide themselves how they want to police their sites. If I'm running a social media company and paying for your data, I am effectively paying for your presence on my site. I will then make a rational decision as to whether your presence is worth what I'm paying for it. Of course, if i kick you off and stop paying you, then I can no longer use your data.
Thus if I as a social media company wish to exclude about one-half the adult citizenry (such as FB excluding conservatives, and Parler excluding lefties), this will limit the value of the data I have to sell to advertisers.