Some of the things need to be centralized to work. The post mentioned GMail spam filtering - it's hard to make a good filter without the level of data Google has. Cloudflare's ability to protect you from threats is another great example - by centralizing traffic of so many web services under one command, they can notice the threat against one and immediately set up defenses for everyone.
Another benefit of centralization is efficiency - when everything is distributed, everyone does all the same work over and over again, which could be done just once.
The question is, how can we keep centralized just the things that (users of them) really benefit from it, and let the rest be decentralized?