If for some reason that doesn't work for your app, the post also mention two secure alternatives: the native client can install a self-signed cert, or you can use a browser extension with the native messaging API. You touched on this too!
My point here is not the specific example solution -- there's lots of alternatives and yes it depends on the situation and browser support requirements. But NONE of them are a reason to allow requests from every origin.
[0]: https://bugzilla.mozilla.org/show_bug.cgi?id=903966
[1]: https://chromium.googlesource.com/chromium/src.git/+/130ee68...
[2]: https://github.com/w3c/webappsec-mixed-content/commit/349501...