Most consumers, in the long run, will be fine running SPV clients. The network will still be decentralized as many businesses will want to run a full node in order to be able to directly verify transactions.
Yes I think this is a fair point. I have not studied the network side of Bitcoin much - is there any way to know how many full nodes are running at any one time?