Support battery level indication over HFP
Plenty of Bluetooth speakers support battery level indication via iOS-specific extension of HFP protocol (AT+XAPL and AT+IPHONEACCEV, see: https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf pages 66-68).
This protocol is already implemented in iOS (obviously), Android (since fairly recently: http://androidxref.com/9.0.0_r3/xref/packages/apps/Bluetooth/src/com/android/bluetooth/btservice/RemoteDevices.java#733) and bluez-alsa (https://github.com/Arkq/bluez-alsa/blob/ed3f513a1f85d38daa4a80a868686bd709d1ac68/src/rfcomm.c#L443).
Android also supports battery level reporting via AT+XEVENT extension: http://androidxref.com/9.0.0_r3/xref/packages/apps/Bluetooth/src/com/android/bluetooth/btservice/RemoteDevices.java#730 (see also: https://developer.android.com/guide/topics/connectivity/bluetooth.html#AT-Commands).
If I understand it correctly, it's PulseAudio who implements HFP, so it would be up to PulseAudio to get and expose this battery information.