I have yet another suggestion, might kind of be against the decentralized nature of bitcoin, but anyway, here goes:
It could be bitcoin.org or another site that creates a bitcoin client (must be trustworthy), there could be a built in feature to use remote data hosted on a server, untill the download of the blockchain has completed on the client side, and then the client will continue using downloaded local data.
1. User downloads and installs client
2. Bitcoin client can be used straight away, in the beginning it's using remote data, and when necessary data is downloaded, it starts using the local data.
This would solve the problem of having to wait to download the entire blockchain before you can get or send btc. Downloading the blockchain can take quite some time, depending on your internet connection.
This solution would only be used in the beginning of the user using the bitcoin client, when blockchain is up to date, usage will continue as normal, and remote centralized data will no longer be used.
Thats almost a "streamingcoin" like how hulu and other video sites do video streaming.
Just like video streaming youd have a "buffer".