Limit - not disable - Remember joined Wi-Fi locations
I use profiles to set the default WiFi networks, (with the help of an apple server)
This way, users don't have to add any networks, apart from their home WiFi.

I also have a little python script to re-order the WiFi so that "my" networks are always the top two ones. This scripts runs as a logout script also via a profile.
Script that I use:
https://gist.github.com/pudquick/fcbdd3924ee230592ab4

As far as I know, you can not prevent the Mac from joining "some" networks only,
but perhaps you can with a 3rd party tool.