You can't stop him but you can make yourself immune to his attitude.
Some people do not know how to acknowledge their own responsibilities.
This does not make them bad, it means that accepting consequences is too overwhelming for them. Their defense mechanisms against this overwhelment make them blame anyone who will accept it.
I agree with @Sreekanth when he says that the best way to stop this kind of behaviour is making conscious your part of the deal. If you make an effort to stop engaging with his guilt, he will either find someone who takes the blame instead of you or he will start accepting his own consequences.
From the background you offered, it seems to me that you are too involved in his unhealthy behaviour. He blames you for everything that happens to him and you blame him back for the way you feel. Unfortunately you can't change people, you can only control your own reactions.
Now, how do you stop caring?
I've found this options useful when I've been in similar situations:
Taking a break from that person. If he is your roommate or you have a shared activity from which you cannot escape, find substantial amounts of alone time. This will bring clarity to your mind, and within a few days you will begin to feel stronger, so that next time he offers blame, you are centered enough to say "that's not mine, I will not take it".
Understanding what's in there for you. The reason you have been accepting his behaviour is a hidden prize. What belief are you reaffirming each time he treats you like that? Perhaps it's "I don't deserve nice treatment", perhaps it's only letting you know that you have not forgiven yourself for something you feel guilty about ("I deserve punishment").
Maybe you hadn't been ready to accept your own responsibility for your feelings and you found useful to have someone like him to blame when you didn't feel good.
Look inside. It's rough (and a little counterintuitive) to admit that we are hurting ourselves on purpose to confirm beliefs, but you can turn this situation around.
I lived a similar situation for many months until I found that deep down I believed that I was not good enough to be treated nicely. I wanted so bad to be right that I did everything in my power to be in situations in which I could say "See? I am not worthy, that's why people abuse me". Little by little I learned how to deactivate that belief. For me, it started to change when I decided that being happy was more important than being right.
Being gentle with yourself. You might find yourself reacting to his comments again and again, despite your efforts. Like all habits, it's normal not to be constant at the beginning. Give it time and be patient with yourself. Recognizing that you don't want this kind of treatment is a HUGE step, own it.