I did some digging around and ended up here. I dropped the bluetooth uart speed to half, and it worked for me, e.g. no bluetooth errors in dmesg output in the last eight hours, and the spikes have gone from Grafana.
$ sudo -i
# cp -pi /usr/bin/btuart /usr/bin/btuart.orig
# sed -e 's/921600/460800/g' < /usr/bin/btuart.orig > /usr/bin/btuart
# diff -u /usr/bin/btuart.orig /usr/bin/btuart
--- /usr/bin/btuart.orig 2018-10-29 14:02:08.000000000 +0200
+++ /usr/bin/btuart 2019-08-09 22:12:36.026493166 +0300
@@ -15,7 +15,7 @@
if [ "$uart0_pins" = "16" ] ; then
$HCIATTACH /dev/serial1 bcm43xx 3000000 flow - $BDADDR
else
- $HCIATTACH /dev/serial1 bcm43xx 921600 noflow - $BDADDR
+ $HCIATTACH /dev/serial1 bcm43xx 460800 noflow - $BDADDR
fi
else
$HCIATTACH /dev/serial1 bcm43xx 460800 noflow - $BDADDR
# shutdown -r now