The key exchange vulnerability was addressed in Bluetooth 4.2, which implements ECDH and is at least theoretically secure. [2]
[1] https://www.usenix.org/conference/woot13/workshop-program/pr...
[2] http://blog.bluetooth.com/everything-you-always-wanted-to-kn...
https://pomcor.com/2015/06/03/has-bluetooth-become-secure/
Basically Passkey Entry is broken so eavesdroppers can trivially learn the PIN. You must use a dynamic PIN (not always possible).
Oh and if you're thinking you can implement your own pairing method that is actually secure, via the Out-of-Band method, think again! Neither Android nor iOS support it.
I'm not sure this is actually true (unless you're talking about bugs with individual manufacturers implementation on Android?). Both iOS and Android support SSP with OOB key exchange via NFC.
There are lots of products that have been available that use this for pairing/connecting, eg: https://www.bose.com/en_us/support/article/pairing-a-device-...
https://android.googlesource.com/platform/frameworks/base.gi...
I'm pretty sure iOS doesn't support pairing via NFC.
https://www.linkedin.com/pulse/nfc-speakers-from-apple-you-c...
http://www.informationweek.com/mobile/mobile-business/iphone...
So, no, they don't support OOB (except in one limited case on Android).