I find having something else to do with my hands helps.
When I’m really really pissed off, I clean. Loudly. With music and door-slamming and shit.
When I’m a bit angry or frustrated, I bake bread. You have complete control over bread. And you get to punch it.
When I’m feeling depressed, I paint. Or sew. The steady “whirrr” of the sewing machine is soothing. And again, there’s an instant gratification factor – as you go, you can see the results of your labor.
The main reason I have ever self-harmed was because I felt out of control of my own circumstances. The thought was “If I’m going to be in pain, I will decide just how much and when it stops”. But there are other ways to be in control of your situation than manipulating your own nervous system. Manipulate clay, or paint, or the varnish on some old furniture you found on the side of the road (power tools are fun!). Anything you like, really.
It helps to not allow yourself to be bored. Even when I’m sitting down with the family watching TV, I usually have a crochet project or some hand-stitching going. See my profile image for the Flying Spaghetti Monster hat I recently made!
I don’t know if you’re male or female, but I do want to interject that textile arts are not a solely female thing. I have good, very manly friends who crochet and knit and sew as well. And their wives say there’s nothing feminine about them. ^_^
Basically find something to do that isn’t sitting around thinking about how fucked up your life is, and make an effort to make that life more bearable. Life is actually pretty cool, once you figure out how to be proud of yourself.