1) Diablo was developed from the fairly unusual position of knowing it would face a launch to millions of users before development ever started. I'd have imagined having this "scale it to infinity" mentality from the starting line would have helped a lot.
2) The whole game is conceptually VERY easy to shard. Unlike WoW, there is very little interaction between players that are not in a party together, and the maximum party size is four.
I wonder whether the failures have anything to do with the achivement tracking/broadcasting. It's the only component I can think of that breaks out of these obvious sharding boundaries, and I can kind of imagine how large friend lists might cause problems. Additionally, it seems achievement progress was lost from the time leading up to one of the downtimes.
I know it's easy to speculate from here, and there are probably very legitimate reasons for all of this. As an outsider, it seems like these particular failures are things that, in general, just happen. Still, I would have expected Blizzard in particular to be better prepared for this. It's a bit surprising.