On a side note, I have been playing with +20%/+50% clear/rough and it seems to be working very well.
Lots of ways to 'fix' the steamroller problem without simply giving the defender an additional bonus. I find your change a little ironic, lowering fortification bonuses and then adding an 'always on' bonus instead. That also makes bonuses in friendly territory insane, or more insane since they were already pretty insane even with the penalty in open terrain.
Anyway, I solved the steamroller issue with four simple changes-
I doubled the HP of units (to 20 from 10). Not only does it do away with most cases of 'one shotting' units it also increases healing time making your decision to push onward or hold up to heal more important. It also increases the value of burning promotion on instant heals which is OK because that instant heal is a one-time bonus so that unit won't actually be better at subsequent combat which in itself slows down the steamroller.
I doubled the HP of cities (to 40 from 20). Cities simply fell to quickly and there wasn't time to try to break the siege regardless of terrain. If you can move in with a few units and take the city in one turn it won't matter where your opponent has the rest of their army.
I increased the city combat strength based on population. Taking border cities with 2-3 pop is still easy but large cities become extremely tough- they hit harder with their ranged attack, they do more damage when you 'melee' attack them and they are more resilient to ranged attacks. Taking a large city in one turn with a pair of frigates and a calvary or two is simply impossible.
Finally, I changed the fortification bonus from 25% per turn for two turns to 20% per turn for five turns. This means entrenched units gain a 100% bonus, easily overcoming the penalty in flatlands but without eliminating the ability to decimate units moving through flatlands. If you want more static lines with tougher defenders this is all you need to do, unlike a flat 'always on' defensive strength bonus this only applies to units that have had some time to prepare making hit & run tactics still a viable option against units that are moving. This also makes units significantly more resilient to ranged attacks if they are entrenched and makes it difficult to completely overpower a fortified unit flanking bonuses alone.
Four lines in one xml file if you're curious. The net effect is probably very similar, it takes much longer to blast your way through an opponent and the AI survives better against human and AI players alike. The biggest difference is in the way we decided to handle the defender. Your method gives a bonus to the player who is defending at that moment where my method gives a bonus to the player that is trying to hold territory rather than advance. With your bonus my infantry marching through your land is in less danger because even though I am the aggressor and on the offense if you decide to attack my units they are the defender for that combat so you have introduced the side effect of making careless aggression less dangerous.
Just some options to think about
If your curious about all of my failed attempts to tweak combat I'd be happy to share them too.