That's equivalent to 4 /32 subnets, or 2^34 = 17,179,869,184 /64 subnets. I think they could afford to give each customer a /64.
IPv6 subnets don't really get smaller than /64. The way the routing is configured, the first 64 bits are "network address" and the last 64 bits are the "interface address". One /64 subnet has 2^64 addresses, about 18.4 quintillion.
What you're saying implies that they have a single routing entry for all their /128s currently, otherwise that would be the same number of routing entries. So, why can't they just have a single routing entry that aggregates all the /64s?
IPv6 subnets don't really get smaller than /64. The way the routing is configured, the first 64 bits are "network address" and the last 64 bits are the "interface address". One /64 subnet has 2^64 addresses, about 18.4 quintillion.