By their nature, blockchains are append-only archives, so you are right that they grow continuously.
So I think the best strategy for dealing with data growth, if it goes beyond the storage capacity of the participants, is to partition by time. In other words, start a new blockchain every year, or two or ten, and close down the old ones, archiving their data away.
It is relatively easy in MultiChain to carry the private keys and addresses across from one chain to the next, by copying the appropriate blockchain parameters and using APIs like dumpprivkey and importprivkey.
The relevant blockchain parameters for consistent addressing across chains are:
address-pubkeyhash-version
address-scripthash-version
private-key-version
address-checksum-value