Avoid exaggerations.
Correct your internal voice when it exaggerates, especially when it exaggerates the negative. Try to avoid thinking in extreme terms ("I always make that mistake" or "I'll never get that promotion.")
Nip negative thoughts in the bud.
Sometimes putting a stop on negative thinking is as easy as that. The next time you start giving yourself an internal browbeating, tell yourself to "stop it!" If you saw a person yelling insults at another person, you would probably tell them to stop. Why do you accept that behavior from yourself?
Accentuate the positive.
Instead of focusing on what you think are your negative qualities, accentuate your strengths and assets. Maybe you didn't ace the test you were studying for, but maybe your hard work and perseverance led to a better grade than you would have had. Maybe you felt nervous and self-conscious when giving a presentation at work, but maybe your boss and coworkers respected you for getting up and trying.
Accept flaws and being human.
Maybe you did get nervous and blow that presentation at work - so what? Talk to your boss about what went wrong, try to address the error in the future, and move on. All people have flaws and make mistakes. Your boss, coworkers, friends, family, postman, congressman, and favorite movie star have all made mistakes. They've forgiven themselves; so can you.
Accept imperfections.
Perfection is a high goal to aim for -- you don't need to start there or even end there. Make doing your best your ideal -- what more can you realistically do? Focus on what you've gained from the process and how you can use it in the future. Avoid focusing on what wasn't done or 'should have' been done differently. Allow yourself to make mistakes and then forgive yourself. Try laughing instead of criticizing.
Don't bully yourself!
"Should have, could have, would have ... " Try not to constantly second guess yourself, criticize yourself for what you "should" have done better, or expect too much from yourself. Don't put standards on yourself that you wouldn't expect from others. It's great to want to do well, but expecting yourself to be perfect (which is impossible) and then punishing yourself when you fail is a vicious cycle. Using expressions like "I should have" is just a way of punishing yourself after the fact.
Replace criticism with encouragement.
Instead of nagging or focusing on the negative (in yourself and others), replace your criticism with encouragement. Give constructive criticism instead of being critical ("maybe if I tried to do ____ next time, it would be even better" instead of "I didn't do that right.") Compliment yourself and those around you on what you have achieved ("well, we may not have done it all, but we did a pretty great job with what we did".)
Don't feel guilty about things beyond your control.