It's funny to think that a mere 20 or so years ago, ethernet wasn't even a foregone conclusion. The first time I connected a computer to a network, I had to make sure I was plugging into the ethernet and not the token ring. Now here we are pushing transport layer fixes into the application layer just because we don't want to have to explain to sysadmins how to reconfigure their firewalls?
Major residential ISPs aren't rolling out IPv6 largely because they already have enough IPv4 space for their customers.
Take a major UK ISP like Virgin Media. According to Hurricane Electrics BGP looking glass project they are originating 9.4M IPv4 addresses[0], however, at the end of 2012, according to Wikipedia[1], they only had 4.8M customers.
Virgin Media can't even expand that easily because they must lay cable in areas that weren't covered by NTL/Telewest infrastructure: and I believe is extremely expensive and time consuming with planning permission being what it is.