I agree totally with you. Sovs and even champions run by the AI are totally random, make no sense are are pretty laughable in combat because of this.
I've thought about having a standard script for them also and if that would help, but then you run into the issue of player made sov's. that the AI can use. I think the best option is probeblly to have a number of paths, maybe one or two per profession. Basically this would mean that when the AI first gets the option to chose a profession it would First pick a profession, for champs this could be hard coded or whatever, for Sov.'s either randomish or in cases dependent on background/traits I.E. all summoners and warlocks should be mages, then it would chose a path in this profession, randomly but influenced by traits. Thus a mage could have two paths, "summoner" and "caster" randomly chosen, unless the mage has the background summoner, or warlock, then he picks the path that suits him, then just have a scripted progression along that path that makes sense.
That really doesn't seem that hard to code into the game and while it would I suppose reduced the variation among enemy champs, every enemy caster you faced would be essentially the same, it would still be a whole lot better than the random mess we have now.