However I agree that breaking them up may not be the solution - mandated interoperability may be. At least then there would be the benefits of having freedom of choice with plenty of options without the downsides of losing access to your data and your social network (which I think constitute the majority of the switching barrier). Similar mandates in healthcare and education would also be beneficial. This would of course not immediately solve the problem, but I would rather have to deal with getting developers to be mindful of the needs of their users than face the impossibility of getting users in the first place.
An entity should be allowed to be as successful as they can manage, so long as the practical barriers to competition are not affected (ie, network effects)