how would you do SLAAC with 64 bits?
The same way you do it now. The router announces a prefix, and devices negotiate unique addresses.
Keep in mind that SLAAC isn't. Modern IPv6 stacks use privacy addresses, so they still need to run the address collision detection.
There's also a proposal to have SLAAC with longer prefixes, because otherwise you need to use DHCP-PD if you want to have subnetting in IPv6.
You don't, and that's fine.
Was DHCP so bad? It carries information important to using such a device anyway.