Bill Carone posted a comment on the quotation from Peter Singer. I think his comment rests on a misunderstanding of what Singer is saying.
Singer is a consequentialist. This means he evaluates actions solely in terms of their consequences. That an act is of a particular type (say, of violence) is morally irrelevant to him. It has no intrinsic moral significance. Another way to put this is that Singer, qua consequentialist, cannot and does not rule out violence categorically. (A category is a class, kind, or type. To rule something out categorically is to rule out all the members—instances, tokens—of a particular category.) Whether an act of violence is morally permissible depends, for Singer, on its consequences (as compared to other acts the agent can perform instead).
But consequentialists can employ rules of thumb, as John Stuart Mill pointed out in chapter two of Utilitarianism (1861). I believe this is all Singer is doing here. He is saying that violence almost always produces inferior results by the utilitarian standard. Almost always. Therefore, unless there is very good reason to think that it will produce the best results in a given case, it should be avoided. Singer is also, in the quoted passage, alluding to one easily ignored bad effect of violent acts: They alienate and antagonize those who are otherwise sympathetic to the cause.
I'm no consequentialist, but I think Singer is being a good consequentialist when he disavows and discourages violence. Nor do I see any speciesism in what he says. He would say the same thing about violence in behalf of humans as he does about violence in behalf of animals.