Thanks for the blog about this issue. Keep the blogs coming
I like option #3 of your post quite a bit, though it might take the longest to set up (at least for me initially).
In my case for the small plugin I'm working on I'm just trying to do the quickest thing that works. But as a broader general class of problem particularly relevant to Atlassian's popular products, large active plugin community and frequent product updates I think this is an important issue to the hundreds (thousands?) of developers in this community.