You don't need to a full roster of commanders at all times.
Yes, this is the solution and also proofs the system is wonky at best. I just fired everybody, literally all eight commanders and 4 council members, I only kept the spymaster and the marshal, at this point you dont need the other guys really, but I get back to that. The crucial part is these fellows are NOT nobles, just peasants I slapped some bagdes on, while commanders need to be landed, council members are still free. Thus they can be bribed with 80 gold which is nothing and you can put glitterhoof on the imperial throne. Works for me

Now the idea is you keep a peasant only council, hence everyone only needs the occasional 80 gold to vote for your chosen one and all is good. You dont need to buy all the votes, just enough.
Now you dont have any commanders exept your marshal and yourself, you may want to have at least 1 siege general, the others cann be supplied either through the holy order of the myrmidons which I have as a vassal and the papal guard which is also a vassal. If need be like you just stated, we can put in additional commanders if the things look bad, but thats hardly ever the case and you can teleport commanders across the map which i always do, the ai as well. Keep in mind the AI is also incredibly bad with education, the best real noble I have right now is 18 martial, and that guy is going to kick the bucket soon. In 3.0 I read martial 40 characters are not rare for players, take that as a comparison.
The retract vassalage and vice roality is indeed a option to work around the commander quality issue, as a simple count can hold it. I did that recently as I wanted to test how that works out, after all a powerful vassal is dangerous and I have still 4 Kings that need to be put down from their throne, hence replacing them with count vice royals above them seems a good strategy in that as well.