Wifi scanning for known networks that don't broadcast their SSID When wifi is enabled, and the phone is not connected to a wifi network, it scans for known networks. I always thought that networks send out their SSID (like StarbucksWifi) and if this SSID is in the list of known networks on the phone, the phone tries to connect. 

Recently I found out that the phone actively tries to connect to known networks even if they are not available. Is it possible to block this last behavior?

See another discussion on Information Security about this.
I'm surprised by what you are saying, so let me recap.

Yes, most networks send out their SSID (it is called a beacon).  If your wifi is enabled and you haven't disabled scanning then your phone will listen for those beacons and try to match the SSID in the beacon against your phone's list of SSID's.  Depending on your settings it will also use the beacon to determine your current location and possibly even send the beacon's MAC address to google so google can keep its wifi location database up-to-date.

So far this is all passive - it is just listening for beacons.  The phone doesn't need to actively try to connect to networks unless some of the networks don't send out beacons (hidden networks, as mentioned by @Chahk).  But even if you have some hidden networks in your list, I thought that Android did not actively try to scan for those networks (send out probe requests).  Actually, I remember people complaining about this, and 3rd party apps being written to address it, e.g. see "HiddenSSID Enabler" in the play store.

Has this changed?  Can you tell me where you read about this?

If so, the only solution I can think of is to purge hidden networks from your list of known networks.