I've seen it suggested that garrisoning every city you take is not the way to play the game. If you don't, you get the 'local citizenry have rebelled' event or one of the AI's invisible raiders walks in. And then your rail net is disrupted. I've also had instances where I have had a large force outside of a city and an enemy unit has walked into the area and occupied the city (where I had just built a depot). So even with a big stack in an area, I detach a brigade to garrison the city.
I garrisoned with the smallest or most damaged brigade I had, then replaced them with sailors or marines later, then replaced them with militia. It took quite a bit of micromanagement to figure out when to replace a higher-value unit and it is easy to accidentally leave them outside the city. I think some garrisons changed to attck posture and I had to keep changing them back to 'defend'.