In short:
1. an ISP would be allocated a /32. This sure sounds like a lot (2^96 addresses!) but it only is the same burden as a single address in IPv4! Even if there were millions of ISPs, this would be no burden on the address space at all. We'd lose the ability to route before we'd exhaust the addresses.
2. Then an ISP can assign a /64 to customers. Again, this sounds like a bit much, but its a tiny fraction of their space. Even if the ISP had a billion customers like this they would be completely fine.
3. This leaves a huge amount of space available for the customer to segment however they please.
4. In the simplest case you'd use a single network with 48-bits taken up by the ethernet MAC address (removing the need to do any address assignment!) Alternatively you could segment the space a bit more and run a transnational corporation's network inside the /64. Up to you!
2^128 is a really REALLY big number. No reason not to spread out a little bit.