Ok so I threw together an applescript to deal with this. I'm using High Sierra. What this script does is rename the app before and after each use. This will prevent it from being automatically launched.
First, rename iTunes to iTunes_disabled. It must match this exactly (unless you also change it in the Applescript below).
In the terminal:
sudo mv iTunes.app iTunes_disabled.app
Then open Script Editor. Create a new script and paste in the following:
set appname to "iTunes.app"
set pwd to "yourpassword"
do shell script "sudo mv /Applications/iTunes_disabled.app /Applications/iTunes.app" password pwd with administrator privileges
tell application appname to activate
on ApplicationIsRunning(appname)
tell application "System Events" to set appNameIsRunning to exists (processes where name is appname)
return appNameIsRunning
end ApplicationIsRunning
repeat until not ApplicationIsRunning("iTunes")
delay 1
end repeat
do shell script "mv /Applications/iTunes.app /Applications/iTunes_disabled.app" password pwd with administrator privileges
Enter your password on the second line, between the quotation marks.
Save it to the Applications folder, and save it as an application. I named mine iTunez.
When you launch "iTunez", it will rename the iTunes_disabled application back to iTunes, and launch it. Everything will work as expected. When you quit, it will rename iTunes back to iTunes_disabled.
Hopefully this will help some people. I was also incredibly frustrated by this. Apple, if you're reading this, a simple option on what to do when connecting bluetooth headphones would be great!