I would never ride on a footpath, that's strictly for pedestrian traffic IMO (and more dangerous than riding on the road, noone expects traffic going 20-odd kph there!)
Pedestrian traffic on cycle paths and shared paths can sometimes be a bit of a problem though.
Most of my commute is on a cycle path, and I've found the best thing to do is to ring your bell a few times when you are a good 8-10 seconds away .. and then once again about 5 seconds later (if they haven't already heard it and moved across if necessary.) I guess hearing some faint dings, then a louder one, prepares them for a passing cyclist.
If they persist in hogging the lane, I'll slow right to a crawl behind them and politely ask them to move aside (this very rarely happens though, people seem to be pretty much OK around the shared paths here, well except for certain 'hot spots'..) Sure it kills your momentum, but it's a cycle path, not a time-trial circuit 🙂
If there's a large gathering, and the off-path terrain isn't so bad, well there's always that option 🙂 It's easier to just do that than expect a gaggle of people to move aside.