AFAIK KISS means "Keep it SIMPLE, stupid"
Anyways, I did my homework and here are my results:
Let's assume 5 million non-zero balance wallets rough estimate - see
http://bitcoin.stackexchange.com/questions/2828/how-many-bitcoin-addresses-are-have-been-carrying-a-balanceWith 20 bytes for the address and 5 bytes for the balance, I ended up with an S block of 125 Mb.
Of course, such a block would save X * [average block size] of disk space, so all is left is to make X large enough for optimum benefit.
Validating such a block is not very hard if you already compute what should be in there on your idle time, knowing that an S block is coming soon.
I realize that such a block is hard to transmit due to its size, so optionally such snapshots can be off the blockchain, meaning every full node holds both a blockchain (which holds the transactions) AND a startup snapshot.
[EDIT] Thinking about it a bit more, the startup snapshot doesn't need to be transmitted as all full nodes can compute it locally on idle times, all that is needed is a snapshot hash embedded to S blocks. Of course new nodes would need to download both the snapshot AND the blockchain (which would be cheaper than downloading a bloated blockchain only).
[EDIT 2] 5 million non-zero wallets gives a 125 Mb snapshot, 50 million -> 1.25 Gb, 500 million -> 12.5 Gb, 5 billion -> 125 Gb. I think we can happily live with that.
How about it?