The solution is going to be in distributed blockchain storage, not distribution. Somehow where we can have maxcopies=10000 and have everyone store a tiny bit of the chain, sort of like a big RAID-5 with tons of copies out there, but it doesn't become an epidemic where there are 1 million people with 1TB hdds full of transactions.. if we all had a tiny part of it, then it could grow to the petabytes.
I like the idea, but it would be difficult to know who is supposed to download which part of the chain.
For example with bittorrent you might have 1000s of people each with a little piece of the file, which as a whole add up to the entire file. However each person in the swamp has a clean goal; download 100% of the file. Everyone is working all the way to 100% (they may never get there but that's what they are working towards).
So if you weren't working towards 100%..then what percent would you be working towards? Say you decide on 15%, how would you decide which 15% to download? What if everyone decided to download the first 15%
This problem is trivial : randomly select 15 blocks among 100.
Each user starting the blockchain from 0 will have different blocks.
Random selection ensure you an equal distribution of blocks among all users.
The percent of blocks you must download should be related to the number of connections you have, to avoid asking blocks to your peers and nobody have it, so they must ask to their peers, etc.