There is a python tool bt-autoconnect designed to connect to an existing audio headset as soon as it becomes available. This is useful in case we do not want to load the pulseaudio
module-switch-on-connect in our
default.pa (see this question).
It will also connect a known device with the Bluetooth adapter (disable this if you want to connect manually), and it will be able to switch the audio sink to the Bluetooth sink without interrupting playback of an audio stream.
In case only one Bluetooth audio device is registered in Bluez settings we can choose "Auto" to autodetect this device. If we had paired more than one device we may need to specify the device by its MAC. If we do not specify the MAC bt-autoconnect will take the first device in the list which may not be the one we want.
If we choose to add bt-autoconnect to the Startup Applications it will start at login minimized to its Application Indicator only
In the Application Indicator menu we are able to switch between HSP (low quality telephony) profile with headset microphone enabled, or A2DP high quality audio profile where the microphone will not be available, provided this is supported by our headset.