Simple setups can use static IPs even with IPv4, without any of this.
static IPs are a far far cry from plug and play. every device needs some sort of UI to set the IP, someone centralized needs to assign and keep track of them. And manual record keeping needs to happen. This is opposed to plug in and they talk. zero config.
At the expense of privacy, now that your MAC address is also exposed. MAC addresses tend to stay the same for a particular device and also survive reboots.
The requirement that the MAC be the last 64 bits is only true for link local addresses, where they will inherently know your MAC anyway to stick in the ethernet frame. For globally routable addresses you can put whatever you want in there. Almost every linux distro by default now chooses a brand new random number for externally visible addresses. And there is nothing keeping them from rolling a new one every time it boots or every hour if they want to.
Global routing requires routing table entries anyway so the MAC mapping just lives there so there isn't really any extra overhead. There is of course nothing keeping you from using your MAC address as the last 64 bits of your public ipv6 address, some operating systems still default to doing that.
The nice thing about the last 64 bits being unique is there is no need for a centralized DHCP server to ensure unique addresses for everyone. If you have ever dealt with a DHCP failure, or a bridging of two LANs, it is a huge mess. backup DHCP server has slightly different records? it starts reassigning the same IP. accidentally plug an ethernet cable into the wrong hub in the closet and a server starts talking on another lan, all hell breaks lose. There are a HUGE class of failure modes that just go away.
There is no back and forth between the routers and hosts, there is a plain broadcast giving the first 64 bits, no negotiation, you just connect, listen for the advertisement of the first 64 bits and append your unique last 64 bits and start talking, done. The route advertisers are fully stateless and can be duplicated with no ill effects. They can be rebooted without a bunch of stale leases causing issues etc.
How can you do that when you have the bottom 64 bits occupied with a MAC address? XOR the key with the MAC?
If somehow the MAC address can be encrypted with a 64-bit block cipher (eg. Blowfish) or XORed with a value known only to devices within the network, then you get to eliminate the "ARP" table and have some improvement in privacy, as you can change the key.
you can assign the last 64 bits however you want except on the very specific automaci ad-hoc link local network. Including hash of public key, random number, your MAC reversed and xored with your birthday or you can manually assign them sequentially if you really want and are a mild masochist.
Here is a blog post I made about utilizing one of the private namespaces for painless IPSEC accross your local lan.
http://notanumber.net/archives/196/simple-ipsec-home-networkLots of fun stuff can be done with the big IPv6 address space, and an embedded implementations can be a fraction of the size of an ipv4 one.
Provided you use an IPv6-only stack.
For local IoT-like lab equipment stuff the devices just speak IPv6 IPSEC as the computers that talk to them can speak IPv6 dual stack. Most lab equipment doesn't need to talk to the internet at large but would really like to automatically be able to talk and pair on the local network to each other and computers plugged into it for the UI. IPv6 really shines here and there is no need to have an IPv4 implementation on the devices themselves.