I like this card, and its reaction, but I think it actually works best as a set-aside mechanic. I understand why you wouldn't want to discard it, since you may still want to use its main money-generating ability on your turn.
But consider that in a 4 player game with a strong curser like Witch, or one given to chains, like Torturer or Familiar, you can be revealing this a huge number of times. And every time you draw more cards, that's more victory cards to draw for your next reveal. And of course you still have it on your next turn then, and with your entire deck in your hand, you're going to be taking a whole pile of cash on your turn.
This doesn't even get into multiple Scarecrows, which is again easier if you are revealing them for each attack for each player. I don't know that you need more than one payoff for having a $3 card in your hand.
Finally, I think it's actually pretty amazing against discard attacks. Consider that one of the better responses to Militia is to discard 2 Estates. In that situation, the attack didn't affect you at all. If you have a Scarecrow, you are basically choosing 2 cards to replace those estates. Your hand is probably better now.
Changing it to +1 card has the multiple-attack problem (though not as bad). Remember that all Horse Traders really gets you is +1 card (well +2 against discard attacks since it's pulling itself away too). But you don't get it until your next turn because of the set-aside mechanic. So that version is still a much better reaction. I actually like that the action and reaction are similar in nature. But +cards on reactions just can't be spammable.
TL:DR - Keep as written now, but set-aside to make it once per round