Maphack...
Well, at the risk of being naive, I can't see what the big deal about maphacking is. It's one small part of a much bigger deal.
Maphack vs resource boost
You can get the same info as maphacking more or less by effective scouting. Sure, you need some resources, but hey, wasn't one of the options to boost an AI to give it a resource boost? How many resources does it take to build an airport and pump out those tiny pidgeon reconnaissance unit once every ten seconds or so? Worst case, that amount of resources is equivalent to maphack. In reality, fewer resources will be needed most likely, since you don't need perfect knowledge of the enemy to make decent decisions, ie there was a guardian two minutes ago, it's still there now!
Random thought whilst re-reading: a resource boost might be more interesting if done throughout the game, ie a mex gives 10% more metal for example.
This is done effectively in Tiberium Wars, where the damage each side is done can be handicapped, from 10% to 100%. Works great. I can play against my gf and lose!
Additional addendum: this would be a useful function generally iin Spring actually, so I can play against my gf, and the game will be fun fo each of us.
Scouting implementation
Scouting is not that hard to do. You can scout randomly, which is trivial to implement, and surprisingly effective.
You can scout with a losmap showing where you visited recently. A little harder to do, but not more than a few hours work.
You can improve scouting performance by guessing that the enemy will be on the opposite side of the map as you, so why bother scouting all the bits in between right at the start?
To maphack or not to maphack?
HughAI has a simple option in the config "maphack"="yes"/"no". Turn it on, and it maphacks. Turn it off, and it scouts (note that any units it already knows about will stay in memory, once you've turned the maphack off).
Against E323AI, I turn maphack on, and win

at least in the game I tried.
Against AAI, I turn maphack off, and win.
For AI vs AI, I feel that maphack is just one more option, like speedmetal vs non-speedmetal, land vs water, etc...
AI advantages over humans
AIs do stupid dumb things and centrate on them.
However, they do have several advantages:
- once they have seen a unit once, they know that unit's definition for the rest of the game, even if it's just on radar
- if they send one of those small pidgeon reconnaissance units over the enemy, they have perfect knowledge of every position and every unit definition for everything they saw. Not like a human, which kind of can guess roughly "oh there was a nuclear reactor there roughly, but not sure if it was here... or here... or here."
- microing is the obvious one.
Learning
I kind of think it would be nice if an AI learned globally, for all AI isntances, rather than on a per-isntance basis, so the results of each game are automatically uploaded to a central server. I'm not quite sure how acceptable players might find this? I haven't implemented it yet. I guess a simple dialog "Are you ok with the AI uploading stats to a central server to improve performance?".