In my view a big way to fix these problems is to allow for multiple clients to compete on the same underlying social network protocols. Semi-decentralized (federated) social networks like Mastodon have done great work here. Even better would be completely decentralized equivalents of Twitter, Facebook, etc. There are several impressive projects working on enabling these decentralized apps. One such project is IPFS. Another is one I'm working on called Blockstack.