I kid you not, some coins do it via snapshot, new blockchain is much smaller than the old one.
Yes, what you're talking about is essentially the UTXO (list of unspent transaction outputs). That's what really matters for a blockchain. The blockchain is just the historical list to get the current UTXO. The selling point of Bitcoin is that it's trustless. You don't have to trust anyone about how many coins there are or who rightfully owns what coins. Your node checks everything itself, from the Genesis block up to the current block. (At least in theory it can. A practice has been adding "checkpoints" for new software releases, so you do trust a dev team somewhat, in that they will give you the correct calculation up to that point, so there is no need to actually check.)
So Bitcoin is actually capable of discarding much of the blockchain too, with a feature called "pruning". With pruning enabled you set your node to only keep about 2 weeks of historical blockchain.
On your original topic about forking to invalidate coins, that's why there is now ETH and ETC (Ethereum Classic). Someone made an Ethereum smart contract (for some new investment) with a bug which was found allowing the coder to send coins to his own address. The coder taking the coins argued publicly that he was only following the code as it was written to behave, which was true (it was just written incorrectly). That presented a philosophical dilemma: the idea of Ethereum is the code is the law, outside government regulations be dammed. So calls to create a fork invalidating that mistake went against that idea. In the end Vitalik decided to indeed fork Ethereum and refund those investors. That gave rise to people saying Ethereum is really proof-of-vitalik, and that code is law isn't really true. Another dev decided to keep the original chain alive and it became known as ETC.