*Why do you need a hack to play music to a headset with only HSP or HFP profiles? Is this just an artificial limitation so people are forced to buy more expensive A2DP devices? (yes I know HSP and HFP are only mono)
In general, when people want to listen to music, they want at least reasonable quality, and that requires bandwidth. Before modern codecs the best quality was SBC at ~384kb/sec pretty much maxing out bandwidth. For mono, or simple headsets, there is no need for high quality, so I don't think they saw the need to implement for that profile. A2DP devices aren't particularly expensive. You can pick up a reasonable headset for $10.
*Why can you only have one of the same type of audio device active at a time (can't play music on multiple bluetooth speakers at the same time)?
I'm not sure multibroadcast was really required, and it would be tricky because bluetooth speakers aren't completely dumb - they have some inputs that feedback using the speaker/headset profile, so the host would have to implement that for more than one device - which device does the host respond to? Also, would it have to sync the music to both speakers? Because resends, and variations in traffic means they might not arrive at the same time, and if both speakers recieved the same packet, which one would respond? and when? It becomes harder to handle that when dealing with anything other than a simplex system.
*Why can't you connect multiple bluetooth headsets to the same phone and route audio between them, intercom style?
I assume because it isn't something many people would use? How often would you need multiple people, with multiple headsets to connect to your phone - all within 10m as that is the standard range for bluetooth audio - to chat to each other over bluetooth with the phone as a host? Surely it would just be easier for everyone to conference call using their phones? I can't think of any reasonable application for having intercom style bluetooth devices, since generally the headset is merely an extension of the phone, used for hands free.
As for Android, yes the bluetooth implementation on it is pretty wonky, but so are most things Android - currently its about 7gig, twice the size of windows 10, and some of the bluetooth drivers are essentially broken. With that said I haven't had any trouble using my headset with my phone.