The new "hub" card system would offer a way, but it's not terribly pretty. Basically, it would be built around the idea that since ambiguous characters that turn out to be evil are evil, any information they've given you becomes suspect. In game terms, this could be achieved by having each clue card give out 4 clues instead of 3, and instead of ordering the clues sequentially (3 is better than 2 is better than 1), they're all independent (it would be the composite clues approach, most likely). Here's the trick: one of the clues is wrong -- it does NOT lead to the correct solution, and when you visit the ambiguous character who is secretly in league with the enemy, he feeds you that false clue. But of course, you don't realize it's false unless you subsequently force the reveal and determine that he's really evil.
Now I kind of like the idea of having some clues potentially end up being false, but I strongly suspect that it would be too much for players to wrap their heads around. And even if they did learn that a card was evil after a reveal, it would be hard to go back through and remember which clue came from which card, and what the implications of the "false" clue are for the tentative solution you've been working to assemble.
So I don't think this will actually work, but with the hub card system, it at least could be implemented. And of course, that system could still enable the reveal, it's just that the implications of a card being "evil" would have to be something else -- like a player in the same city as that card has to immediately face a challenge, or something like that.