A person who repeatedly switches his stance on a topic

Solution 1:

Someone who rejects a position and accepts it in the next breath, even if only indirectly, and fails to acknowledge a change of heart, is inconsistent. If they keep alternating stances again and again then they’re still inconsistent. We could say they’re hopelessly inconsistent or serially inconsistent; seriously inconsistent too, but serially is more to the point.

If that person firmly believes what they say and does not realise their inconsistency at all we’ll have to leave it at that. But if they are aware of the mere possibility of inconsistency and keep doing it then such person may be a bullshitter in the sense Princeton Professor Harry G. Frankfurt defined in On Bullshit (Princeton University Press, 2005). Here’s from a review at Amazon.com

Bullshitting, as he [Professor Harry G. Frankfurt] notes, is not exactly lying, and bullshit remains bullshit whether it's true or false. The difference lies in the bullshitter's complete disregard for whether what he's saying corresponds to facts in the physical world: he "does not reject the authority of the truth, as the liar does, and oppose himself to it. He pays no attention to it at all. By virtue of this, bullshit is a greater enemy of the truth than lies are."

Solution 2:

Such a person is called a flip-flopper, especially in politics.

Solution 3:

In terms of politics, one who repeatedly changes their stance is indeed a flip-flopper.

I would also like to add fickle:

changing frequently, especially as regards one's loyalties, interests, or affection.

I feel that outside of politics, this word would be more common for the definition you are looking for.

Solution 4:

Hypocrite — a person who feigns some publicly approved or desirable attitude especially one whose private life , statements, or opinions belie his or her public statements.

Example:

Please stop with the false indignation, you hypocrite.

Other words are dissembler, pretender, deceiver, and pharisee.

Solution 5:

I think self-contradictory might be a good description.

From dictionary.com:

self-contradiction noun

  1. an act or instance of contradicting oneself or itself.

  2. a statement containing contradictory elements.

You wanted something with a neutral connotation. I think, in this case, it can be neutral based on your phrasing. Something like

Your argument seems to be self-contradictory to me, because in this sentence you say X which seems to imply you are against Z, but in this other sentence you say Y which seems to imply you are in favor of Z.

If you simply state that the person's argument is self-contradictory that could be considered negative because it implies that they don't know how to construct a logical argument. Or, at least, in the crowd I run in, it would be considered negative. But if you phrase it with "it seems to me" or "I don't understand because X" you are opening it up to your own misinterpretation and asking for clarification.

Another word you might consider is ambiguous.

From dictionary.com:

ambiguous adjective

  1. open to or having several possible meanings or interpretations; equivocal: an ambiguous answer.

  2. Linguistics. (of an expression) exhibiting constructional homonymity; having two or more structural descriptions, as the sequence Flying planes can be dangerous.

  3. of doubtful or uncertain nature; difficult to comprehend, distinguish, or classify: a rock of ambiguous character.

  4. lacking clearness or definiteness; obscure; indistinct: an ambiguous shape; an ambiguous future.

If you are trying to be neutral, again, phrasing would help. I think "ambiguous" is much less "negative by default"--more of a declaration that the person's argument is not completely clear rather than faultily constructed. But I would still say something like

This argument seems ambiguous to me, because in this sentence you say X which seems to imply you are against Z, but in this other sentence you say Y which seems to imply you are in favor of Z.