Q:

Is 〜ている really this subtle?

With an action verb, like 食べる, I can count 5 meanings of this sentence:

ジョンは納豆を食べている
  "John is eating natto." (progressive)
  "John is eating the natto." (progressive)
  "John eats natto." (habitual)
  ? "John has eaten natto." (perfective: experience)
  ? "John has eaten the natto." (perfective: state of having eaten the natto)

To me, the last two readings are possible, but kind of odd.
However, you can completely force the experience reading:

ジョンは前に納豆を食べている
  "John has eaten natto before." (perfective: experience)

And you can almost force reading 5:

ジョンは例の納豆を食べている
  "John is eating that natto which we just saw." (progressive)
  "John has eaten that natto which we just saw." (perfective: state of having eaten the natto)

Finally, if you use 〜ていない instead, I think all the readings are equally likely:

ジョンは納豆を食べていない
  "John is not eating natto." (progressive)
  "John is not eating the natto." (progressive)
  "John does not eat natto." (habitual)
  "John has not eaten natto." (perfective: experience)
  "John has not eaten the natto." (perfective: state of not having eaten the natto)

In my opinion, the perfective readings here are equally or more likely than the other readings. They become even more likely if you insert まだ, for example.
(I guess, etymologically-speaking, it is not too surprising that 〜ている can have the perfective semantics, given that て was the 連用形 of the perfective auxiliary verb つ.)
Some of the meanings come from whether 納豆 is being talked about in general, or a specific serving of 納豆 is being discussed, but the reason why I included all of them is because the actual implications of the different perfective readings are entirely different for the two different cases (as in English).
Is what I've laid out here entirely correct? Are the perfective readings actually less likely for the simple 〜ている case like I think they are?

A:

I am going to say just a couple of things regarding your first list of 5 meanings.  I have been hesitating to do this because what I want to say might confuse the beginning students more than it could clarify things for them.  「Verb + ている」 is that subtle.
After mentioning it in the comment some days ago, I am still having difficulty understanding why you are using the word "experience".  As a Japanese-speaker, I do know that 食べている, given the right context, COULD express one's experience of eating natto, but this usage is very rare in real life --- so rare that you will seldom hear it to mean it.  Without saying 食べたことがある, we just rarely express experience.
Then again, it may be that it was your intention to include the rare usages in the first place.  If so, I would have included the "future progressive" and "future perfective" as well.  "I will be eating natto at (a certain time)" and "I will have eaten (the) natto by (a certain time)" are possible meanings of 食べている, too. In fact, I would say that those usages are a little more common than the "experience" usage.   
If the distinction between "natto" and "the natto" is important to you, which it seems it is, I would include the "the natto" version under your "habitual" category because it is possible for one to habitually eat a particular brand/type of natto.

