Pruning should arrive in Bitcoin Core 0.11, allowing people to run a full node with only 1 GB of storage space.
Please answer this simple question: "how does one bootstrap a full node once everybody's pruning?".
To be honest, I see the technical challenges of pruning to be not terribly high and the 'purity' argument of being able to trace value back to it's full history to be more philosophical than practical. I'd love to be able to believe otherwise since this is a distinct mark against how I would like Bitcoin to work for other mainly unrelated reasons.
A checkpoint could be marked with high reliability and it could serve as a basis for bootstraping. No real rocket science here I don't believe.
I think that a more perpetually supportable solution would have involved a POW-backed re-bases. I'd have been inclined to apportion some percentage of coinbase and transaction fees to whoever comes up with the best re-base on, say, a quarterly basis.
But, as always, these major design items are water under the bridge. There is no practical way for Bitcoin to adopt them. We've got what we've got to a large degree and we just have to work within the confines of the system as it is.
One thing that everyone should remember is that the voice in the back of one's head warning against believing 'magic' should be listened to. All 'bitcoins' need to be accounted for individually. In the theoretical best-case scenario, right after an 'ideal' re-base, this would mean having an entry for every item in the UTXO. Bitcoin, being in it's infancy, has a highly compact UTXO with relatively little 'fragmentation'. With use this is likely to expand by many orders of magnitude and 'pruning' can do nothing about that.
That's my read of the technicals. If someone thinks this is wrong and want's to make a correction, please do.