If it's a popular idea with one or more obvious ways it could work, you can be almost assured it isn't easy to implement.
Nobody is going to turn down a free home run of a change. The only reason they wouldn't have done this is if it wasn't easy. So when they say it's tied up with some tricky spaghetti, I'm inclined to believe them.
Sometimes it is easy (or not easy to properly fix, but maybe easy to make a workaround), but it's low priority behind urgent stuff like new content or the patch not working.
Let's do some black box software engineering. Let's think how the code might work. Programmers should be able to follow the train of logic here, not programmers then stop reading here as you will understand the precedents but might not be able to find the same conclusion.
Let's assume that it determines starbase weapons when a starbase is built or upgraded, or a tech system is researched. This seems like a reasonable way to work the code, and I will assume it's not recalculating starbase weapons every day(!) as Paradox devs are good at their jobs.
Let us also assume, to make it harder to upgrade the starbases, that the game does not save starbase weapons to the save file, and just re-calculates it when the game loads, and when indicated above. (I should look in the save file).
This gives a reasonable (from the code) explanation of why you might not be able to customize starbase weapons. Any change you make is overwritten when it's re-calculated, or when the game loads, and there's no way to save a separate setting for each empire - everyone is using the same algorithm to determine their starbase weapons, and it's re-calculated each time the empire invents a tech or upgrades a base.
But what we can do in this case, is we can change the generic algorithm so that it adds a mix of long and short range, and anti-shield vs anti-armor, onto a base. It won't be the best setup, but we'll not have the huge problems we have now where the things can be helpless. It should not be picking, for example, all autocannon (except maybe in Terminal Egress).
Of course, this could be completely wrong as I've not seen the code for Stellaris. But it should sound reasonable to a programmer.