A lot depends on the other pieces. I'll answer this as best I can without a specific position.
One trick that can help (well, actually a good habit in every trade) is to compare the strength of the pieces that are left on the board.
You mentioned some good things already. Taking helps black increase the scope of his queen. Staying put may hurt your pawn structure while giving you an open e file to work with and increased control over e5. Retreating may open your h or f file.
There's another option too, sometimes you can reinforce it e.g. with a knight on e2.
In all these cases though I believe it's important to weigh the remaining pieces against each other (black's vs white's). A roundabout way to do this is to ask yourself, is the e5 square or e file useful to me? Is the dark square bishop useful for black? Is d6 a useful square for his queen?
More direct is to imagine the role each of the remaining minor pieces will play, and where you hope to put them in the future. Very generally speaking, if you will have 3 potentially useful/active minors left over and so will your opponent, then it's probably an equal trade. Very reasonable.
If you allow him to take on f4 and you recapture with your pawn, lets say you have a pawn on f3 too... and now your king's knight on g1 is awkward... where to put it? I can develop it to e2, but it's kind of getting in the way of my other pieces... if it goes to g3 from there it's not really doing anything for me. You find yourself thinking, my pieces just wont have as much scope / be as active as my opponent's. This is the sort of sign to make you re-think the viability of a your candidate move.
Of course this requires some background knowledge / experience to do well. A lot can be read from the pawn structure (the roles of the minor pieces, the targets and plan for each side). But what you were saying was already a good start. So next game let him take on f4 and double your f pawns. Try to make use of your open e file and e5 control. Put a rook on e1 and / or a knight on e5. After the game look back to see if it was useful as you hoped. Ah, learning! Rinse and repeat next game.
You can also look up master games in that line. Oh he retreated, I think it's because _____, or maybe you think, wow, his opponent will be able to _____, that can't be good! Then play out the rest of the game and see how they handle it.
Bf4 v Bd6: take, stay, or retreat?

I get a lot of positions where I (as White) have a Bf4, with a Pe3, and my opponent plays Bd6. On general principles, should I:
(1) Take on d6, allowing him to recapture with his Q.
(2) Leave the B on f4, allowing him to trade, and planning to recapture with my e3 pawn, which will then be doubled, but will control e5.
(3) Retreat the B to g3, allowing him to trade, and planning to recapture with my h or f pawn.
The symmetric situation arises for Black as well.
Thanks.