Mr Soft, just run straight towards them until you are almost running into them and then either, stop abruptly and shake your head or just at the last second go to one side but make sure you get to make contact with their shoulder/arm! I can't stand obnoxious people who think that they don't need to show some sort of consideration towards ppl around them.
I have a camelbak ultra 10 which is not a cheap backpack but it fits me well and has lots of space to carry stuff. It has a cord so you can compress your stuff if the bag is not entirely full. It also has a waterproof pocket at the front in which I can put my phone but it is not big enough if you have a big phone ( anything over the size of an iphone5s would be a challenge to fit in,imo).