The whole ip4 rare limited issues is anyway not really an issue tbh.
For example, in my company, we got from ripe an really big ipv4 block, an /19 ipv4 block to be exact.
And we use from that block maybe 100-150 ips in total.
But since it's assigned to us, it counts as "taken" and for sure from the company view, we would never exchange our /19 block to a smaller one....
And i know at least 10-15 more company's in my small branch in germany alone that have totally oversized blocks given from ripe xD
Ripe does indeed checks for the used ip's in our range, so we have to spin up once a year or so a vm that simply takes via dhcp over a thousand ip address for a short time. Dunno if this is really needed tbh, but we simply do it, to feel safe xD
However, from my point of view, there is really enough ipv4 adresses available and thanks to nat, not every device needs an ipv4 address.
The only problem there are all the phones over lte/3g/etc that have all an ipv4 address assigned and that is the basic problem why we needed ipv6 at all.
But tbh, the companys could do a nat for those devices over lte/3g/etc either, without a big problem.
Sure that solution would have downsides, but ipv6 have downsides either.
The biggest downside is, that no one can remember an ipv6 address, while ipv4 is easy to remember and to manage xD
However, this all doesn't means that im against ipv6, ipv6 provides many amazing features, even for the lanside, like autoconfiguration & multicast over different networks etc...
And has the same time big downsides either like ipv6 isn't even completed yet there are many key options missing, for example:
https://tools.ietf.org/html/rfc5006
Aside from the managing horror that you have to set it proper up.
Another big downside is, that in most homeuser cases ipv6 is dynamic either, so the clients have to get their new ipv6 address based on what range you get over wan at whatever dynamic time your provider decides to rotate ipv6.
While this is working in simple environments, it's a drama to configure routing for that and make proper firewall rules. Since you can't simply configure it based on static ip addresses like with ipv4 in your lan.
So in the end it's something you simply have to decide your own, if you need and want it or you don't want it. Both ways works and will work forever. At least on the lanside, we will always have ipv4 if you don't decide to deactivate it...
Im using ipv6 in all the networks (home/office) personally, because i personally have a benefit of it.
About disabling ipv6, from my findings, the best way is to disable ipv6 completely except for loopback.
Some services need ipv6 on the loopback interface, why ever.
So i would use:
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=0
Cheers