There's a whole lot of literature on what constitutes an argument. Some are based on an underlying mathematical logic, some are based on the principles of argumentation that have been studied since as far back as Ancient Greece, so there's no need to reinvent the wheel
If you guys don't mind I'll just start mentioning about Social Abstract Argumentation (SAA), which is what we developed in my research group. Makes it easier to point out what I'm referring to
The theory behind SAA can very easily be changed so that we accept slightly more complex crowd voting. What does need to happen is that all the votes eventually get you a value in [0, 1]. For instance, an "agree" vote could be value 1, "disagree" could be value 0, "spam" could be value 0, "need source" could be value 0.5, and then you'd average all those votes out.
How you go from plain text to a formal argumentation context (as a directed graph) is still very much an open question. I don't think we will ever be at a point where you can automatically mine that information, since natural language is so hard to make sense of with computers. This means that ultimately it'll be some form of user that has to say what is an argument and what is an attack.
The Abstract in SAA refers to the fact that we distance ourselves from that problem. We work exclusively with nodes and arrows (and votes). It is not clear to us that you should have different argument types at all - what would be their purpose? How do they differ? SAA is nice because it is super simple and to the point. An argument is some sort of statement that may or may not undermine other statements, and that may or may not be undermined by other statements. This notion of "undermining" induces the attack relation.
The Social part of SAA means that the community can self-regulate. In other words, if someone goes into a nice, mature community and starts spewing nonsense as arguments, the community has the power to downvote that opinion into irrelevance.
I think it's also important to realise that outcomes to all debates are ultimately
always dependent on the context, whether in "real-life" or online. I mean, talk about gay marriage in a southern US state or in a metropolitan area, and the result will be reversed. Talk about it in a US wide context, and it might be 50/50. An atheist in a religious forum and a believer in an atheist forum WOULD likely be downvoted simply because people don't agree with their opinions. That's the way the world works.
If you accept that the formal outcome of a debate depends on its context and participating community, your complaints aren't really bugs of the system, they're features
To respond to Angle's more recent post. You *could* simply create an argument that states another argument is Non-sequitur, ad hominem, or strawman, and have that attack the original flawed argument. If people agree with that, using !!LOGIC!!, SAA would reduce the strength of the flawed argument until it became too weak to have any real impact. Heck, if people realise that the argument is flawed, they can simply downvote it.
Overly complicated systems restrict usage. We'd really like to have as many people as possible using this, right? Arguments, attacks and voting can pretty much represent any situation that we've been able to think of for quite a while now. That doesn't mean extensions aren't possible, but before making the system more complex and less usable, those changes should be strongly justified.