Every time I used IPv6 I found it solved more problems than it created. E.g. with v6 you can make sure a VPN addresses will not collide with the user's actual address. No more nats or port forwadings, etc.
The main problem is that v4 has not yet been retired and that means many times you have to support both.
Hehehe... writing this from behind NPTv6 (a form of a prefix-to-prefix NAT). I have to use it because this is currently the only working method for a fail-over configuration with two ISPs.
Even worse - isps give different prefix lengths - I am curious how you are running npt -i spent WAY too long trying to get basic ipv6 failover working - what vendor / etc. Ipv4 failover is basically flawless and internal network doesn't renumber as routes flap
The main problem is that v4 has not yet been retired and that means many times you have to support both.