Some thoughts about combat management:
If you take too many cities early to mig-game, the AI's will gang up on you because of all those warmonger penalties. In some games, you may not be able to keep a single friend.. If you find yourself in this kind of situation, the best defense is to have initially built all your core cities in easily defendable positions. Without that benefit, just defending from your many enemies will chew up too much of your resources. All care needs to be taken not to anger all civs at one time.
If you manage to keep a good relation with one or two civs, that will greatly help with your trade / RAs and enable you to bribe them to go war with your enemies.
It may be a good idea to have a separate military city/cities and focus your capital on science, gold and culture. Helps in keeping up with the AI in those respects.
Map plays a role in tech development - if the AI has a lot of land around them (for many cities), expect to be left behind in tech. In those cases the better bet is usually to just beeline military techs and play aggressively, as waiting for you to actually catch up in tech will be too late and by the time you have done that and built up your army, the AI will very soon have completed the space ship.
Some people recommend building your infrastructure while teching quickly up to artillery; however the problem with that approach is that one or two of the AIs will usually have Great War Bombers already up and running in the year 1500 (on deity). You'd need to get your artilleries up much earlier to have any real benefit from them.
One way to improve your tech progress would be modest early conquests, and I feel this is the best option. Taking multiple cities with CBs isn't necesserily the best option, because if you delay it to XBs you will be able to build more happiness and gain more from the occupied cities.
You can also war with cannons/musketmen, but then you have to use sacrificial troops - otherwise the cities will absolutely destroy your siege units.
I have played a LOT of deity/domination games, and I'm still not good at it. I have accumultaed a lot of experience though, and I would say the approach that works most of the time is to use mixed unit types (after the initial CB spam). If you have some melee, a couple of mounted units, lots of bow line units and a few siege engines, it will be much easier to take those cities.
Mostly people talk CBs and XBs, but I think Trebs and Cannons are very helpful against cities.
The trick to keep them safe is to make sure you always have at least one (cheap) melee unit within city range on yellow health when you move in your siege engines.
The city will almost always target the weakened melee unit first which will allow your siege engines to live. And once they do, they are much better against cities than the bow line units.
For feeder, you can use even scouts or un-upgraded warriors.
When the citied start to have ~40 defense, your musketmen will actually be able to take a hit from the city and another from an inside XB, and still barely live. Cycling melee units, thus, becomes quite useful.
On a late medieval war, I use melee to take the hits, bows to kill enemy units, horses to pillage and trash their bows, trebs to take down the cities. If you can keep your melee units alive, they will actually become quite useful with Cover II and march... Also, Trebs/Cannons can be surprisingly effective against units as well, when you are slowly moving in on your target city.
My problem is no longer combat skill, but management of money and happiness. But that comes after you get to rule the battle fields, so I feel I can share something on combat alone.
One thing I also have learned, is that you can intimidate your enemy by playing aggressively.
If you don't focus only on keeping all your troops alive (which I did earlier), you can deal more damage, move to the front more boldly, and as a result the AI often feels you've gained the upper hand and will back up a bit (and allow you some free bombarding). I have noticed that in many cases, ultra-careful vs. ultra-aggressive may only account to 10-15% more lost units, but 2x or 3x the number of conquered cities in the same time.
Taking cities in phases can help. Take a city even if it has melee units still left right next to it, let the AI take it back the next turn, and repeat until the city is at a manageable pop level for your happiness (also less time before you can build a court house).
Build roads beforehand, to the directions you want to attack. Roads will even allow your trebs/cannons to move and fire the same turn.
Bring workers with you, to repair the pillaged tiles for another pillage-heal-up for yor troops. And, use workers to lure out city-defening units before moving in to attack.
And, if your border cities can be built on a hill behind a river (looking from the enemy's perspective), do it. That way, you will only need two units and walls to defend that city, so your real military can be elsewhere causing trouble to the enemy.