Something I noticed quite early playing this game is that the Data Information Tab on other AI races shows quite a bit of information that I think should require spying to know.
For instance I can monitor all races teching up and with this I can either trade or tech up faster in those techs and then when each race is 1-3 turns from finishing the tech I can trade mine to them at some rather hefty income. This has actually been one great way to keep a steady flow of income for me and though I know I can just not use this feature, it should be set for spying and then it would cost me money to make such advantageous trades.
I even monitored one race for 20 turns teching up in a specific tech. Each turn I would offer a trade of this particular tech and amazingly when they were 5 turns from completing it they offered MORE money than when it was at 20 turns. And even when they are 1 to 2 turns away from finishing the tech they still offer a large sum of money. Perhaps making 1 or 2 turns away quite a bit less would make the game more challenging as well.
Spying really should have more use than it does now. Affecting the Alien Data Tab Information output for ALL catagories would definitely make things much harder. I know this would probably require a lot more programming, but, perhaps a popup window to ask the player what portion of the Information Data Tab they want to attempt to spy in.