the coins never actually vanish, they stay in the cloud forever.. it is the addresses that contain the coins that vanish.
Also, dont forget, that until 2140 or so, were going to be still accumulating coins every 10 minutes.
after that point, vanishing coins may eventually become a problem... but i'm sure by then it would be solved.
Personally my solution is to update the coins to a new version every few decades. everyone runs the new software, and it automatically converts their wallet to the new version.. every time a transaction is made, old coins get pushed in to the new version transparently. If after a year there is less than say 75% of the coins on the new system, make blocks start containing newly minted coins. once the money gets to around 20mil again stop minting new coins.
This might mean that if joe schmoe was holding on to 500,000 BTC somewhere, and only after the new coins finished minting he converted, there might be say 24mil coins in the system.. but thats okay, slowly some will get lost, and just keep repeating every so often, keeping the average 21mil +/- 5mil