/Opinion:
"Makers of BT devices can't agree on many important common things (easy discovery / pairing mode, priority, etc)." => I think it is not the creators of the devices (peripherals), it is in my expierence the SmartPhones (Apple/Google)
=> iOS won't let you discover BLE Devices which have only generic or costum services/characteristics
=> iOS will hide parts of advertisment/discovery data from app developers
=> iOS won't let you know if a device is bonded/paired via API
=> on iOS if you want to initiate bonding, you have to initiate it from the peripheral
=> Android sometimes "forgets" keys of paired devices
=> Android sometimes scrambles data from characteristic notify()
=> Android sometimes "misses" characteristic writes (ratio 1:1000000)
This is just what I could come up with in a minute. I develop both FW for peripherals and Apps, so my 2 cents
=> It's almost never the peripheral/fw and most time the Smartphone
=> RF noise is (almost) never an issue, glitchses come from phones