As it stands, since pretty much only players use rams, the surgical option is to just nerf rams if players should have it harder taking AI cities. Catapults are very pricey investment and the AI knows to focus fire siege units.
The AI doesn't seem to have much issue taking other Ai cities. We may want to make CS live longer, but that could be controlled by AI behavior instead of combat.
We don't want to make cities too strong because they intentionally tried to move away from civ5 where cities were the only part of the map that mattered in war, because they were so tough.
Maybe I'm not following, but shouldn't the tech of your defenses match with that of your offense (units)?
The argument is roughly ~
Units in the classical/medieval/renaissance have strengths that go like this:
35/45/55
This means that
any city in one of those eras has a base strength that matches the units of that era (since you've built them) without you having to invest in anything beyond ancient walls, if that.
Instead, city defense can be linked to the level of wall by making walls effectively units. IE, take the unit strength of the era, and add X to it (currently the game has this setup to be roughly, +5. We could make it 0, or 10, or -5, or anything we want.)
Example numbers:
No walls/walls destroyed and
no garrison: 30 str
Ancient Walls: 40 wall strength, 30 ranged strike, 50 HP
Medieval Walls: 50 wall strength, 40 ranged strike, 100HP
Renaissance Walls: 60 wall strength, 50 ranged strike, 150 HP
Urban defenses: 70 wall strength, 60 ranged strike, 200 HP
Since you know the strength of the units the walls will be facing in any era, you can just make the walls match them. If you want to be able to fend off progressively superior siege engines, you have to build better walls. I think if you did this you would need to tweak walls a little so a city could build the highest level straightaway (and of course, they could stand to be cheaper generally. Poor Georgia.) Now it's up to us what to do with the city itself once the walls are down. Perhaps the garrison rule could be that the city itself (again, not the walls, just the city) becomes at least as strong as the garrison unit's melee strength. I mean, then it's consistent with what happens when you fight a unit in a district.
Castles didn't kill armies. They created time for the defenders. Currently cities already have 200HP base, plus melee attacks do less (half?) damage without a ram, and ranged units do half damage. They are very very tough when their innate strength matches unit strength.
EDIT: if you don't have any form of defenses or garrison, I don't think there is any reason that cities should
still be hard to take. It's not like the local sheriff is going to arrest the invading infantry battalion. They can literally walk right in. You should probably need an army of your own to defeat a serious invading army. It's not very nice, but the static power of freshly settled cities irks me greatly.