Yeah I had similar reactions when I first saw the standard of using /64s for subnets under v6. It seemed like a huuuge waste of address space, and the only justification I can see for it is IPv6 autoconfiguration which calls for an EUI-64.
I was somewhat taken aback by seeing, for instance, how HE uses /64s for tunnel endpoint "transit" addresses. Under v4 we would typically use /30s for something like that, since it only requires two IPs. I expected to see /126s (/127s?) for this sort of thing under v6, but nope, full 18.5-million-trillion host /64s