10../8 could be split into three hierarchies each with 2^8 entries:
• 10.X../16: sites (e.g. global offices)
• 10.X.Y../24: on site vlans / individual buildings, typically a broadcast network (although switches use MACs to limit actual broadcasting.)
• 10.X.Y.Z/32: individual hosts
It’s not an enormous amount of space, really, hence IPAM. You could divide it on non-8-bit boundaries. Oof.
With 128-bit IPv6, each ISP has a /32, each client a /48, and each broadcast domain a /64, leaving a remaining 64 bits for clients to just randomly make up addresses as they wish.
That’s still 16-bits of address space to work with when creating networks (just as you have 16-bits for the X.Y in 10.X.Y../24) but all addresses are globally routable and each network can support essentially infinite hosts and without needing DHCP, instead of just 254.