I think the secret, when it comes to your own problems, is to not be as invested in the outcome as you're naturally prone to do. Accept that a situation could unfold in many different ways, then accept the worst among them. Then treat yourself as you would treat a friend in terms of giving advice and dealing with the problem.
Easier said than done, though, and it doesn't apply to every problem out there. But it's a start.