Why can't we make the Bitcoin software start the blockchain from the beginning?
And how exactly would the network agree on the last included block in order to spawn your new blockchain? That would be kind of complicated.

In my opinion Merkle tree is already fixing the problem. Downloading the headers of each block is enough to verify payments.

Remember that only miners actually need all of the blockchain data. Clients don't.