Here are my ideas:
1. When you trade for or steal Techs, you receive YOUR version of the tech, not the race you received it from.
2. Most, if not all, Techs are flagged as Trade-able. However, these techs can only be traded or stolen if both races involved have the tech in their Tech Tree.
However, at the same time, Techs can exist in other race's tech trees without that race being able to research it. (Spore Weapons, at least in DA, is an example of this. There is a Requirement flag "ImpossibleTech" which makes a tech hidden, and not researchable)
Thus, it could be possible to have the Korx to be able to trade for or steal Xeno Slavery, but the Altarians to not be able to.
Using this option might cause issues with identifying techs as being "unique" to a certain race, though.
3. Have the Alignment of a Tech in the Receiver's (not the Trader's) tech tree matter when determining if a tech can be traded/stolen.
As an example of what I mean, you could have the Altarians have Xeno Slavery in their tree and not be researchable. However, the tech also has an alignment requirement of "Evil". Thus, if the Altarians became Evil, they
could trade for (or steal) Xeno Slavery. But ONLY if they are Evil.
4. A property (defaults to '1') that if set to '0' causes that Race's whose tech tree it is in to not be able to EVER steal or Trade for that tech, but doesn't stop other races from being able to trade for it.
Thus, the Yor could have the Farming techs in their tree (not researchable, of course) and be given a value of '0' for this property. And now you have Robots who find no use from traditional "Food" making methods.

If the above four options were implemented, then there could be a much finer degree of control over the trading of techs than is normally possible.
Of course, these methods (to properly make use of them, that is) would require a good bit of XML work would could be quite tedious.
If all else fails though, the devs could always adjust how much effect the WillingnessToTrade value has, as well as making the AI-to-AI trades operate on the same rules and values as Player-To-AI trades.
Speaking of WillingnessToTrade... a quick question to the Devs: does the WillingnessToTrade value of a tech you are offering affect the AI's "value" of the tech? Ie: if you have two techs with the same cost, AI Value, etc, etc... except one tech has a WillingnessToTrade value of 17 and the other 70, will one tech be considered more "valuable" by the AI than the other?