cup, the AI can update the roster 10 minutes before if the battle is at x:10
But it is true that this system is inferior to one that would do his last update a few minutes before the actual battle starts, instead of using hourly update.
Most AI stuff have already been taken to date, when its human players's fiefs getting attacked you can bet your ass there will be a defense (especially castles/cities), so this problem will grow less and less with time. Also it could be argued that it gives some small time factions a chance to grab a fief easily, might be why this system never changed. Or just pure lazyness, when you look at overall strategus mechanics which almost didnt change for the last couple years.