Jo,
I am by no means an expert, and Matthew's Mommy will I'm sure have some great advice but a couple things I wanted to know are how old is your son? I'm thinking he might be older than 3 months? Also, has he always had problems going down for naps, and how does he go down for bedtime? If he always screams when you lay him flat on his back, maybe he might have reflux or something else that makes it uncomfortable for him to lay on his back. In that case I can understand why pt/shush wouldn't make any difference. But one thing I can say almost for sure is your little one is way overtired. He needs way more sleep then he's getting if he's crying thru his naps and only taking 30 min naps in between plus waking up frequently in the night.
My suggestions are, that if he is crying thru his naps or otherwise not napping for more then 30 min that after waking him to feed him, do not do any activity time afterwards. Immediately start your wind down and try to put him for another nap. He's probably overtired from not napping long to begin with, so keeping him up even for 20min may push him over the edge again, hence the vicious cycle.
And find and keep doing a consistent winddown routine for the nap. Sounds like you may need to do a pre-winddown ie: calm activities like reading books or looking at trees and then a winddown routine in the dark room. Maybe your LO needs more "notice" that it's naptime, and more time to turn off. You may find like I do that almost immediately after feeding is the pre-winddown activities. Then the winddown and bed. It won't always be like this, because once he's more rested he'll be able to stay up and play longer. And I try to extend the naps before the wakeup by being in the room and putting the paci back in if it falls out, and putting my hands on my dd legs to keep her from jolting awake at 45min. She hated pt/shush, it just woke her up.
Keep us updated and good luck. As always, parenting seems to be an ever changing work in progress. You will find something that works for you and you will sleep!