Re: SLAAC is the problem, not the solution
I remember a specific command I could use in Solaris 10 to set up my own preferred device ID when using SLAAC. Can't remember the exact command but it was something like
ifconfig en0 inet6 token ::1337:b00b:cafe/64
you had to put something akin to this on the hostname6 file for it to persist across reboots. The end result was that even using SLAAC you would get a "static" IPv6 addy with the added benefit of having all the IPv6 routing configured automatically.
Sadly, I haven't seen if this is possible on Linux.