I agree that feeling guilty due to the feeling that you should be doing something is harmful rather than helpful. Feeling guilt over procrastinating has only ever made it worse for me. I agree that such implicit beliefs about what you ought to be feeling are best gotten rid of as quickly as possible.
However, I am not so sure about replacing it with can. "I can do my thesis" does not make me feel anything. Rather, I like to ask myself what it is I truly want to do, and then the answer I give myself is "I want to do something with my life, and right now that means I want to finish my thesis". Want seems much stronger to me than can.
I'd write more but I should stop procrastinating on Less Wrong and go back to doing my thesis. I mean want.
Here is an interesting exercise. Whenever, you have a 'should' statement, see if you can change it to a 'can' statement, and notice being more empowered. Examples:
Not, I should be grateful. Instead, I can be grateful! [To clarify, I mean that being grateful is something that will make you feel good. As an analogy, if you have tasty cookies lying around the house, you will say to yourself: "well, I can certainly get cookie."]
Not, I should leave a generous tip. Instead, I can leave a generous tip! [As in, you can leave a generous tip and feel good about it.]
Not, I should donate to charity. Instead, I can donate to charity!
Not, I should loosen-up sometimes. Instead, I can loosen-up sometimes!
Not, I should keep in touch with old friends. Instead, I can keep in touch with old friends!
Not, I should learn to program. Instead, I can learn to program!
Not, I should eat healthy. Instead, I can eat healthy!
The general pattern here is that, instead of making the activity a moral duty, you can make it something fulfilling which you choose to do because of its benefits.
For 'should not' statements you can substitute: 'I choose not to.' One example (you can make up more):
Not, I should not eat refined sugar. Instead, I choose not to eat refined sugar.
I'm sure that this procedure doesn't always work and you can generate counterexamples. I have not done them here. Please share your examples (counterexamples).