A P2P cache might make a lot of sense to reduce traffic to servers but you still need an authoritative copy of everything. Also the P2P cache would be opt-in and it's effectiveness would depend on its adoption.
It's nix, you only need a hash database for trust.
Sure, but someone still has to store it. If the foundation wants you keep the old builds, they still need to pay for that 0.5PB somewhere.
I am not 100% sure how IPFS works, but it's where some NFCs are stored, right? Is it even possible to only store blobs you care about? Either way, it does solve the migration problem.