There are tens of thousands of Fediverse servers with millions of users in total, and this amount is growing all the time. There are hundreds of millions of posts going back almost a decade.
It would be horrifically expensive for every independent server to keep a complete, up-to-date record of every post ever made by every user on every other server. The only people who could afford such a system would be megacorporations like Facebook, Google, Twitter etc.
The whole point of the Fediverse is to allow small independent servers to exist as part of a larger network, so that the network is as spread out as possible (click here to find out why this is a good idea). The smallest Fedi server starts from about US$10 a month to run, and this low cost is possible because the server only needs to display posts and shares from people its users follow. Even the largest Fediverse servers are able to operate on a fraction of the budget of a commercial social network because they are only showing posts their users have to see. (If you’re interested, there’s a complete list of what a server can see here.)
Couldn’t Mastodon at least show a few old posts instead of blank profiles?
Having said all of the above, there are definitely ways that the current system of federation could be improved. One feature currently missing from the Fediverse is “backfilling”, where an account’s old posts are automatically loaded to a server when someone on that server follows an account. At the moment you only see posts made by an account after at least one person on your server has followed it, but with backfilling their past posts would become visible too. (Incidentally, Mastodon does already backfill pinned posts.)
The main thing preventing backfilling from being used has been concern about stress on servers, especially if an account has thousands of past posts to backfill. A possible compromise might be letting servers decide for themselves if they will allow backfilling, and how many posts they are willing to backfill. Perhaps smaller servers could allow at least a few posts to be backfilled in order to avoid possible blank profiles.
If you’re comfortable using Github, you can let the developers of Mastodon know you want some kind of backfilling to be possible by giving a thumbs up on the relevant issue ⧉, and if you have your own ideas you can contribute to the thread.