There is, of course, DNS, which is the preferred method for referring to a particular host.
There is also IPv6 prefix delegation that can simplify things for assignments to interfaces in a router.
Other than that, I would suggest adopting a strategy that formalizes the way IPv6 addresses are assigned. For example, you can be assigned a
/32 prefix, then use the next nibble or so to mean the specific site and/or region, a nibble to identify the function of the network (user data, VoIP, Wi-Fi, guest, etc.), a nibble for the specific module, then some subnet nibbles within the module. Such a strategy can make it easy to identify a network address and where it is.
You can also go farther with
/127 point-to-point links and
/128 loopback addresses. For example, if the subnet is
0, then let that mean it is an infrastructure (loopback or point-to-point link) address, and you can use a lot more nibbles/bits beyond the
/64 prefix to identify the specific device (loopback) or devices (point-to-point link). In this way, the addresses write themselves, and they are easy to decode.
All that can be done with a simple spreadsheet to start, then you get familiar and can see it on your own.
As the experts at a global IPv6 conference explained to me, companies that are putting in IPv6 change the addressing, on average, three times before settling on an addressing scheme. If you sit down and plan it correctly, you will see that IPv6 addressing is actually more flexible, allowing you to encode meaningful information into the addresses.