Another important part in making a war short - plan your route!
Know what city(ies) you're going to take in the first 1-3 turns of the war, where you're going to resupply, and what citied you're going to hit turns 4-10. If you have it mapped in your head first, you should be able to wage an effective 10-turn war that will win you the objectives you need won.
Once you have planned your 10-turn war (and keeping in mind that no plan survives contact with the enemy), you can decide if you're going to plan further;
"In 6 more turns I can take the rest of the cities on this landmass"
or
"In 3 more turns I can raze some border cities to ease cultural pressure"
or
"I need 12 more turns to completely wipe out that civ"
Check your options, plan for them, execute them.
As a general rule of thumb (very, very general), I want my stacks to contain 10 modern units + 6-8 modern or one-step back seige + ideally a Medic III from a GG. So if my battle plan is to take one city, resupply and take one more in 10 turns, one stack like that is fine - I would consider that my typical "axes, swords, and catapults" attack. But if I'm going to hit three cities on a broad front, I want 3 stacks just like it - which is obviously a lot more buildup.
All of that is, of course, entirely situational. If I'm hitting musketmen with tanks, the stacks can be much smaller. If I'm hitting Mechanized Infantry with Tanks, the stacks (esp. the seige) needs to be much, much larger.