Running a full node allows a user to independently verify the state of the bitcoin network. In order to verify the state of the network, the full node will run through every transaction in every block, and this is only possible if the full node has access to all of the data that comprises the network's history.
If you 'squash' (compress) this information, then the necessary verification cannot take place. Given a compressed piece of data, it does not seem possible to verify the validity of the uncompressed data (according to whatever rules), without having the uncompressed data itself. So instead you would need to trust that someone else had verified this data before it was compressed, and doing so would be counter to the goals of the bitcoin network (ie allowing every user to independently verify the network state).
Further, the blockchain record is not well-suited for compression.
- Throw away adresses with a balance of 0
- Create a new genesis block containing all adresses that have a positive balance
The bitcoin network does not keep track of address balances, it keeps track of UTXOs.
Note that you can run a full node with pruning enabled, so that old blocks will be discarded from your local storage after verification has been completed.