AI uses forced march too, unfortunately. If you don't have a high maneuver general on your reinforcement stack you're usually screwed with a canon-only stack in my own experience.
This is most definitely
not the case in most scenarios. The AI got smarter in the recent patches, and it takes into consideration the general position of forces on the map. If you have overwhelming forces at one fort, the AI will attempt to use its forces elsewhere to siege forts or provinces.
The only nations that will do what you describe are those with army size parity, meaning France, Ming, Ottomans and sometimes Russia.
Against these largest opponents, I siege down only the number of forts I can back up with an equal army size and I usually don't detach infantry until I deplete their troops somehwat.
Lets say the combat width is 30 and war is against France.
If I have 120k troops, France has 100k, I'll split into 2 full width stacks, one will siege, the other will be in the adjacent province (split into two half-stacks for less attrition if possible).
If I have 180k troops and france still has 100k, I'll split into 3 full width stacks, two will siege adjacent forts (say Avignon and Lyonnais) while the third will be positioned between them to be able to reinforce both as needed.
This also enables me, if France commits all 100k to one battle, to detach reinforcements from the uncontested siege and fully commit most troops to that battle.
Note that this does not even take into consideration friendly allies which can distract their forces, say by marching into northern France, but it does account for enemy allied troops, which you should take into consideration when declaring wars.