Is there a (potential) "Blockchain size problem", and what solutions are available? As more and more Bitcoin transactions are produced, the growth of the Blockchain may well, one day, become a problem for systems which want (need?) to store the whole blockchain.


Storage usage
Client startup time
First-time synchronisation


This answer to "Are there any studies into the size of the blockchain scaling over time?" suggests that Simplified Payment Verification is a good solution, but SPV, as far as I understand it, requires a degree of trust in individual peers that may not be to everyone's taste. 

Although I don't really understand the blockchain well enough even to know if this is sensible, the sort of thing that occurs to me might be a mixture of SPV with partial blockchain caching (least frequently used?), where the client keeps a small piece of the blockchain. 

Is this really a problem, and is there any work in progress to solve it? 

Alternatively, if this isn't a problem, please help me to understand why.
Currently, only full-nodes, i.e. nodes that have the complete blockchain inventorized relay blocks. Personally, I've recently encountered the first problem, when my Linux partition ran out of storage, yet if I had chosen a bigger partition size, I'd be able to even afford a multiple of the 50GiB easily.


Storage usage: Currently, the blockchain is about 50GiB. If it continues to grow at 1MiB per 10 minutes, storing the complete blockchain should remain affordable for those that want to.
For all the others, there now exists the option to run a pruning node. Once pruning nodes will be enabled to relay blocks, I would expect that the number of serving nodes will start to climb again.
There would need to be some nodes with the complete blockchain to secure history, though.
Client startup time: This may become a problem at some point, but the blockchain data doesn't get checked every start-up, rather synchronization only runs once for each block. So, with a current computer, I don't think it is an issue now or in the foreseeable future.
First-time synchronization: Synchronization has been dramatically improved with the release of Bitcoin Core 0.10. Now, only the block headers have to be processed in order and all other block data may be processed in any order. This and other tweaks have drastically reduced the time necessary to catch up with the network. My computer can now do initial synchronization within a few hours. As processing power will scale, I expect this to remain manageable for the foreseeable future.
Update: The coming 0.12 release will additionally increase synchronization speed by x5, due to validation of signatures being run through libsecp256k1, a library that has been specifically coded to run Bitcoin operations more efficiently.