Edit: Effectively giving +2 cards, +$1 on a single play is pretty strong when compared too Smithy, though... Isn't it?
I do think so...
You could try the less exciting "choose one: +1 action, + $1; or +2 cards, return this to your hand."
But I am not convinced River is the card that wants this effect tacked onto it. If there aren't any villages, this doesn't really make it so much more attractive to buy, because the main effect is still only moat. And if there are villages, River is already strong enough. YMMV.
I don't know. As you said, without Villages, this is still a bad card. So it makes the card more complex without solving its main issue.
I don't really want it to cost $4, either. But i do feel it almost certainly needs to cost that as printed. I mean, it's not strictly better than Smithy, but with the discard for Copper, you can open double-River at practically no risk at all at get more than from Smithy. The only minor deficit is that the +$1 doesn't happen if you play it several times, but the fact that it highly pushes the first play destroys my reason to cost it at $3 in the first place.
I'd rather have it give a buy. Buys don't really scale much, either, and they are also often pretty useless in the early game, contrary to Jeweleriver.
Edit: Of course, the problem here is that you have to count buys without a card in play. Ugh. On the other hand, you have to count Actions, so you might be able to figure it out retrospectively, even if you lose track of the number of buys itself. Official cards also allready have that problem.