In the case of cryptocurrencies, the answer is likely a combination of what miners and users can support. The goal is to be large enough that we don't have throughput problems and block space doesn't become a bidding war.
It's also worth mentioning that this doesn't mean the end-users have to be able to run nodes themselves or on mobile phones, since that makes use of a process called Simple Payment Verification (SPV) where they only process block headers and get the blocks they are interested in, but still verify the consensus of the network.
But, it also depends on what you see cryptocurrencies as. If you want them to replace traditional cash and create a "digital cash" world, then you want to see them accepted and used anywhere at a very large scale. In that world-view you have millions of transactions regularly and miners get paid with the sum of lots of small fees.
However, if you think that cryptocurrencies should only be used as a speculative asset or as a "digital gold" then you don't care much about it actually being transacted, and in that case fees as high as $50/tx are fine because you don't have any expectation that the world will be using it at scale.
Miners don't have to store the full chain, end users don't need to store the full chain, but somebody has to store it. Seems like those people, the people running full nodes, should have the final say on how big the blocks are and therefore what the throughput of the network is. I guess in reality, they do, since they decide which fork to run. Right?
Once we get to the point where everyone can do 10 TXs per day without a bidding war, then maybe. But also consider that we can currently store every single bit of communication in the 1980's on a chip about the size of my finger. History seems to tell us that what we think is a large amount of data becomes commonplace in a few decades.
Probably another way to look at it is that people regularly open their mobile phone or browser and view a few minutes of video and transfer 300MB - 1GB of data to do so. During that same time the transactions of the entire world economy could have been transferred.
Well they also decide what to put in the blocks they mine. Nobody forces anyone to put something in a block. And, yes, they also can decide which fork to run.
When miners find a block, they race to get it published as quickly as possible to as many nodes as possible. If A finds a block, and stuffs it full of transactions; and shortly thereafter B finds a block, and includes no transactions, B might actually "win" the race because B can propagate his tiny block much faster than A. So each txn added incurs a tiny penalty just by virtue of adding to the payload.
> they decide which fork to run
In reality most hashpower is pooled and pools autoswitch between forks depending on which is more popular in the moment. So most people running miners are mining all forks.