You are making some mistakes. Let me clarify.
You are thinking too much about him and too little about yourself. Bring the focus to yourself for some time.
It's ok to be tired after a hectic day :-) You expect your partner to understand but sometimes BPD people don't understand such simple things yea? Well you are not totally helpless. There is something you can do, something very simple in fact
When he is angry and wont let you touch him, just politely tell him
'You are just thinking about yourself. You are not thinking about me, how tired I have been. Anyways, I will talk to you again when you feel better'
Note that he might start an episode here. Just tell him politely that 'You will talk to him only when he calms down and feels better, not before that'
He said he's leaving?
Your response: 'Sad to hear that but feel free to come back if you change your mind'

You are doing something very important here. You are giving him the correct pointers on how he should really behave. He will be shocked by your response but he will be forced to rethink his stance. He has to because he has no option. Remember, BPD people are scared of being left alone and so his threats of leaving you are actually empty and you have been falling for it.
Okay anyways lets proceed
Now say in response to your previous statement he says something like
'No I am never coming back and I am never going to change my mind'
How do you respond to this?
Say Nothing. Yup Nothing. Just shut your mouth and wait. He will in sometime be running back to you weeping and apologizing. Then hug him and accept his 'I am sorry' kisses and kiss him back.
This is called 'Setting boundaries'. By doing this one single thing you actually do 2 things. One, you bring back your sanity. Second, you start teaching your BPD partner on which behavior is acceptable and which is not. It works. Trust me
If you do not set boundaries and always give in to his game that what incentive does he see for changing his behavior? Understood?