I think it's a fundamental problem with how you approach the relationship with a service like that: They give you a Terms of Service, or what you're allowed to do to be able to use that service. I think we need to flip that around entirely and instead mandate that Facebook has to ask, explicitly, for everything. And more importantly there need to be serious consequences for when those rules are violated. Every relationship with a network of any kind starts at a position of they own everything, and then they tell you what you actually own and I think it's backwards. We should start from a position of we own everything, and this is what you're ALLOWED to take and use.
I think that's far more feasible to do than a distributed Facebook. Not saying it's impossible, just saying it's a shorter route and betters the relationship we have with the things and companies we do business with overall.