If you check the ledger every turn there will be a message the first turn a general is eligible for promotion. If like me you sometimes do not read the ledger closely, then you have to check every officer. But you can do this quickly in that promotions are most often associated with winning a battle, so you only need to check those stacks.
It is difficult to get all of the allied troops with officers. With the Russians, let all your Cossack units operate with leader penalties. You are trying to deny Prussian and its allies supplies and well as raiding weak units with these troops, so penalties are not too serious. This leaves enough generals to put all other troops into divisions and corps.
With the Bavarian and Empire troops, put the extra ones in French or Austrian Corps. With time, and luck, you will be able to have all of these allied German troops under command. With the Saxons, I sometimes use the extras as garrison units where a single unit will not incur a strong penalty.
Apply the four mods Bohémond has posted here
This takes care of the locked Russian units as well as a couple other important issues.