Interesting question. Similar players in terms of stats (with both having a chance of turning it up a notch), very different situations.
McGriff's downside is age and fears about his health, as well as a weak lineup.
Johnson, on the other hand, could still find himself losing significant playing time if the Yankees decide to make another deal. The Yanks are certainly sending mixed signals about how highly they value Johnson. A trade to another team also isn't out of the question.
This is probably as close to a coin-flip decision as it gets, since the risks are nearly impossible to gauge right now. I'd stick with McGriff, but that's really more of a hunch than anything I can put my finger on.