Yes 128 bits is only 4x times the bit length, but the address space is exponentially bigger.
Some predict if we do run out, it might take ~100 years.
You think we can use 340,282,366,920,938,463,463,374,607,431,768,211,456 addresses in 100 years? Thats ... ahem, ambitious!
And the subnets are in a hierarchy that helps with routing but limits the packing efficiency.
We could feasibly "run out" to the point that we can't keep doing things this way.