I would be really, really happy if lawmakers would realize that Facebook (just one example of many) has now become infrastructure, and has to be regulated as such. What to do? Make every service with more than, say, a million users required to offer federation. There must be an API, and everybody must be able to get their data in and out free of charge, and there should be no limitations (except for fighting spam).
This way, Facebook would loose their network effect which makes it impossible for a competitor to be successful. They would still have their users, rich features, mature codebase, and infrastructure as an advantage, so this will not drive them out of business. But they will be forced to compete with others on terms of user-friendliness, features, non-invasiveness and so on.
Here's an idea. The next time you invent a nifty protocol for social, don't make it proprietary. Don't release the source under copyleft either. Make a license such as: "You may use this protocol / implementation free of charge in any way you like (source closed or open) under one condition: you have to offer federation."
(* Federation means that users with accounts on different services can communicate freely, like it is the case with email. Imagine you could use your Twitter account and write to a friend's Facebook wall. Or you could even host your own gnusocial instance and use it to take part in other social networks.)