IMO, spying, assassination and merchants should be abstracted. Maybe even diplomacy.

IMO, it would be best if you could assign missions (Spy city X, Assassinate General Y, Arrange Negotiations with faction Z and so on) to an abstract base of agents, the odds of success and speed of which depends on the number and level of appropriate buildings in your empire. (Town Hall line for diplomacy, Brothel series for Spies)

Or something to that effect. My favorite espionage system for a strategy game is actually in Master of Orion 1!