This is a problem that decentralised protocols such as IPFS theoretically solve. You reserve x GB on your storage to cache the content you consume and can optionally "pin" content to keep it on your disk indefinitely.
The problem is there are privacy concerns with this type of system as it's possible for anyone to find out who has consumed particular content.