The violence argument does not stack up. If the airline was worried about violence then they would not allow people on the plane with cans, they would not serve alcohol in unopened cans and they would serve soft drinks in plastic bottles.
The only argument that really stacks up is the economic one. They are happy to give you free soft drinks on planes, but they want to restrict how many free drinks you have by making you drink them on the plane. So they open the cans for you, to prevent you taking them away and consuming them later. Please note - I'm not saying this is their policy, just that it's the only sensible reason I can see for refusing to serve soft (i.e. free) drinks in unopened cans while serving alcoholic (i.e. paid) drinks in unopened cans.
However, the economic argument has not been raised at all, only the ridiculous "weapon" argument. Also the airline states that there is no policy, and nobody has come forward with proof that there is (which would be easy to find, since it would be in policy documents, training manuals, etc. if it existed).
So this whole incident comes down to what the woman claimed it is, which is discrimination.