Not really that big of a deal.
Simply offer non carrier companies a couple of blocks of v6 address space in exchange for a class A space. Make the change over free and after a year or two, start raising the price of /8 address space via annual registration.
For example, IBM holds the 9 network (9.0.0.0). HP holds the 15 and 16 networks. Others include Ford, Halliburton, Prudential and USPS. DOD holds another 10 or 11 /8 assignments last I checked.
Eventually move the v6 zero net (0:0:0:0:0:ffff:????:????) to be non routed internal addresses only like RFC 1918 addresses.
The NAT may have to occur at higher levels, but it's still possible.
Excellent point. I was also thinking about those older companies holding big blocks of addresses, many of which they won't use. As you say, IBM holds all of the 9 network (9.0.0.0). Just like large landowners can subdivide their property and sell off portions, these large subnet holders can subdivide their addresses. Most people think of 255.255.255.0 masks to derive their subnet, rather than 255.0.0.0 for these old companies. A quarter century ago I set up routers and thought there were plenty of addresses; back then there were.