I've been using Linux and BSD in one form or another since 2003, and I definitely used wpa_supplicant on the command line to connect my Thinkpad to WiFi. And you're right, it did suck. It was not a 9/10 experience by a long shot.
FreeBSD actually has a similar thing, you can run Linux wifi drivers inside a VM and pass through the adapter. There's a port called wifibox that does this.
You can even forward the Unix domain socket for wpa-supplicant from the guest to host, so all the normal tools that talk to wifi cards via that socket work transparently.