I think the best way to deal with it is have 2 veto votes cause the trade to be brought in front of the commissioner for approval. Unfortunately, most of the time the commissioner plays in the league, and so in most yahoo leagues you never know if he's gonna be impartial or not.
In the absence of an impartial commissioner, I'm not sure there's a better way to handle vetos.
Maybe an automatic algorithm that checks two players' preseason ranking, yearly stats, and recent stats, and if they're more or less in-line, it doesn't allow a veto. Like if, say, ARod is being traded for someone who is on pace to hit 45 HR's and 150 RBI's, even if that guy wasn't rated very high in the pre-season, it ignores vetos?
Probably more trouble than it's worth, and would probably cause more problems than it solved.