I may be missing something about how WiFi and networking in general works, but I do know how WiFi device tracking works.
When eg. an Android phone has WiFi on, it's sending a ping/broadcast message every few seconds. Using this message eg. retailers can track the location of the device by triangulating the message between multiple wifi hotspots.
My question is, why does the Client broadcast this message at all? Why is it not only the access point that sends the "I am here, connect to me" messages. There should be no WiFi traffic from my device until I try to connect to something, and yet it gives away my location and device id every few seconds.
You could then do the reverse only for hidden SSID networks, and encrypt the probe with something unique to that network and time, only sending a probe in the current style when you set up the network the first time.
This would stop the real time tracking of specific devices, no?