For example, with YouTube, my account credentials, settings, watch history, uploaded videos, would all be stored in an S3 (or S3 compatible) bucket that I allow YouTube access to. If I ever want to view my data, I can. If I ever want to revoke access, I can do that too. If YouTube gets hacked my data would still be safe (depending on the attack of course), since it's all in S3. If S3 gets hacked I'm still safe as long as there is encryption at rest.
I know that there will be some tradeoffs, e.g. data locality, pricing, etc., but I feel like such a model would work so well. Taking the idea one step further: sell a plug-and-play consumer server that hosts the S3 storage. A consumer would purchase some off-the-shelf box, plug it in, and use a device they physically control to host all of their online data. This would require things like IPv6 to be more widely adopted, and for upload speeds to increase, but it would solve so many privacy issues.