If someone wears a talis and likes to keep it bunched up on his shoulders rather than hanging down his sides, and also plans to sometimes have it over his head and sometimes not, what's a good way for him to prevent its falling off his shoulders?
For shoulders, it helps to wear a jacket with pads.
To keep my talis from falling down when covering my head- when I first wrap myself, I give my head a lot of slack in the talis, so that it might cover half my face. Then I put the shoulders on. When I subsequently cover my head, the extra slack stays in back by my neck so that it doesn't pull on the shoulders.
(If you want to spend money, there are other options.)
Bunching the side material under rather than over the material that lies on the shoulder seems to keep it in place better.
I bought a no-slip tallit, It works great and I rarely have it fall off. The fabric is woven into boxes, which not only create a lot of friction but it looks pretty too. What helps a lot here is also what YDK suggested, with covering your whole head with a piece of the tallit before pulling the tallit up onto your shoulders. I'm not sure why, but it really reduces the tug and slipping.
I also highly suggest a tallit clip, and or, tucking the tzizit into a belt.
First of all, anyone out there who is frustrated by tallit slippage should take comfort in knowing they are not alone. Tallits have always slipped and they always will. Even the Gemara talks about how to deal with a tallit that slips off (in terms of the bracha). But as the respondents noted, wearing a jacket with padded shoulders helps, refining your technique helps and buying a "non-slip tallit" helps.
Just to follow up on what Avi wrote, to read more about these new non-slip tallits, refer to "The Non-Slip Tallit: Myth or Modern Breakthrough?" on my site.