No, NAT is not a good way to handle it.
NAT works -- it's not good, but I will at least agree with you that it functions in some minimal way -- for small networks. But it doesn't work for large ISPs. Comcast has already realized this and gotten on the IPv6 bus, although it's going to cost them. If NAT were feasible, I'm sure they'd do it. But they can't without segmenting their network, which is as much a PITA for them from a management perspective as it would be for their customers.
Eventually the wireless telcos and other ISPs are going to run into the same issues, although their networks are designed differently so they might have a while left. But it's not like networks are in general going to get smaller. People want more and more devices online, and they want those devices to be able to talk to each other.
When you start layering NAT, what you end up with is still a network of sorts, but it's not the Internet. Lots of traditional Internet applications don't work, and worse than that, a great many applications that might be designed in the future won't be, because the architecture of the network will be so limiting. We could quite possibly nerf what has been the greatest wealth generator and communications tool since the printing press, if we build client/server assumptions in so deeply that it's impossible to ever move on from them. Just because the Internet today is principally client/server doesn't mean that it must or should always be.
I'm not a big fan of IPv6. It looks like a bloated piece of shit, frankly, and I've always been disappointed that they didn't go for a more elegant backwards-compatible extension of the address space rather than a forklift upgrade. If the people designing color TV had taken the same route, we'd all still be watching in black and white. But it's here now, and the alternatives are worse.