-I have noticed that there a good many low level abandoned cities scattered around the map that are not really worth raiding after your city develops any amount, so perhaps you could turn them into npc cities after so many days of inactivity.
-The attacks on caravans en rout could be offset by allowing an escort guard attached to the caravan, you can only have so many % of caravan capacity of foot troops without occurring movement penalty and mounted troops move at the same speed. Foot troops would take a certain amount of caravan capacity per unit and mounted troops would obviously not, although they would still apply to the unit capacity. Units might be set as a whole and dispersed by caravan %, or set as one caravan template and applied to all. Should be researched to unlock and have various tiers.
-The ability to bribe them to do various things including ceasing attacks on your cities and caravans, focusing attacks on certain players, sending reinforcements for a certain time to an area etc. This could be achieved by sending a special diplomatic unit with a resource carrying capacity. Research to unlock with various tiers.
-The ability to buy out the npc cities to act as vassals. The cost would be dependent on how developed it is, the race difference of the patron, and the number of vassal cities already owned. There would be a vassal cap based on total population of your normal cities. This would be very expensive.
-They would still be npcs though you can roughly guide their development having them focus on certain development areas. You can send resources and reinforcements as per your normal cities. The ability to demand tribute in several forms depending on the vassal city building level and technology researched. A good way to implement this is have a vassal city "tribute point" stat that is based on the vassal city building level, this builds over time and you can select different tributes based on what you have researched and how many points are used with point values going in multiples. 5, 10, 25, 50, 100 etc. These can be resources, goods, arms and troops each with varying point costs. Tribute is randomized based on type of tribute and current stores, if tribute points selection exceeds current store value smaller tribute must be taken of said type.
-Ability to use % of vassal army as reinforcements for large attacks. Army move speed wold be adjusted so designated reinforcements arrive at the same time, slowing to adjust not speeding as that would be a bit unbalanced. Reinforcements would be based on current unused troop pool, to be selected by city. Unlocked by research with several tiers.
-Npc faction attitude rating for players. All factions start as hostile to players. Every time you bribe them for a service the faction rating improves a small bit. If you patronize an npc city the faction rating improves a good bit. Once you patronize a city no other interaction with it raises faction rating, it is expected at this point as a responsibility although you can still raise faction rating with non vassal cities. Every time you attack static npcs faction the rating falls a small bit depending on troop points destroyed. Every time you attack a npc city the faction rating drops a bit more depending on resources taken and troops destroyed. Sieging a npc city will drop the rating a large amount depending on building lvls destroyed, resources taken and troops destroyed.
-Faction attitude rank has several levels with corresponding benefits or penalties.
Example:
All out war-Faction is throwing everything they have after you, every faction city in a very large radius of your cities are sending large armies continuously and setting up siege camps. You really pissed them off.
At war-Faction see you as a threat. They target you over others on a consistent basis and send more troops and thieves than normal over a larger radius from your cities.
Hostile-Faction raid you as normal, you can bribe them for actions instead of just paying tribute to raise rating.
Neutral-Faction no longer raids your cities, enables buying of basic resources. Bribe actions cheaper. Unlocks buying out of faction cities as vassals.
Warm-Faction bribes cheaper with more options, unlocks buying of goods, small discount on resource buying.
Friendly-Faction bribes cheaper again with more options, discount on goods and resources, unlocks buying of basic arms. Faction cities will send small reinforcements to your city if an incoming enemy is detected.
Ally-Faction bribes much cheaper, discount on goods, resources and basic arms, unlocks buying of advanced arms, discount on buying out faction cities as vassals. Sends more reinforcements from larger area if incoming enemy detected to your city. Will send retaliatory attack on attacking player.
-Research to unlock all of the above with several tiers.
I hope this has been of some help.