So what you're saying is that all ISPs have to support IPv6, they all have to do so in a standardised (or EVERY POSSIBLE) way, and there's no way to do anything until they get off their butt.
That's what 6-in-4, and the various tunnels were made for, because the ISP's aren't getting off their backside because if they support 6rd but your router was made before that and so doesn't support it, then as far as the users are concerned they don't support IPv6 at all.
But even there, that's FOUR WAYS to do the same thing. All involving third-parties.
What about what *I* would like to do to combat a third-party not supporting IPv6? What if my router didn't support ALL those protocols independently and completely? What if my ISP never adds IPv6, how do I get on the IPv6 network even with all the above?
When you have so many different and competing standards, some EXPRESSLY designed so that the ISP doesn't have to be IPv6-ready, and STILL there's so much choice that your router has to support them ALL in order to claim IPv6 in any significant way, then you're onto a loser.
I don't care about PnP. I care about it being able to be done. But I'm an IT guy. I don't need it to be PnP and I can sort that out for my users. But not without all the ISP's we use onboard, not without explicit support for all the protocols (What if my ISP changes from DHCPv6 to another method? Can they still claim IPv6 compatibility even if my hardware no longer works?), not without having to know how all the standards and protocols work, and not without having to do all the legwork.
With IPv4, you have basically two options - DHCP which is a way of automatically plugging in all the information you would require for the alternate, which is a list of static addresses of various services. With IPv6, there are six, seven, eight protocols that all need different levels of information and co-operation from your ISP, assign different kinds of IPv6 addresses to you, (6rd, or 6in4, or local IPv6, or global IPv6? Who knows?) all work differently, may or may out just route out via a 6in4 address to the wider Internet via any route they like, rather than being provided by your ISP directly, etc. etc. etc.
It's a damn mess. And I have a router that I bought specifically to do this, have enough knowledge to set any or all of them up, could easily sign up to even tunnel provider available, and you know what - I can't be bothered because of the hassle of all that junk.
My websites and external servers are all IPv6 and accept mail over it on a daily basis. I just set up a static, it routes, off we go. My hosting providers provide NONE of the above automatic configuration services. My ISP provides NONE of the above and won't get out static IPv6 ranges.
What you have is a complete deadlock and mess until someone picks a standard and sticks with it. Because if I were an ISP, I'd just say "Sod it, I'm not going to provide ALL those methods and then be accused of missing one out, so I may as well provide none and let the user worry about it". And that's exactly what ISP's are doing.
You know what my solution was? I set up an OpenVPN link to my external servers and just talk via IPv4 to it, sending pure IPv6 through the VPN for a globally-routable IPv6 address that I've reserved for that purpose. It was easier to set it up myself using YET ANOTHER way of doing it than faff with any of the services available, supported or not.