If at all possible, I think the parent should prepare ahead of time for long rides on public transportation. Change the baby as close to departure as possible, feed the baby foods that will bind her up (just a little--not so much that it causes constipation), things like that. I also carry plastic bags with me wherever I go. I will do everything in my power not to have to change a baby in front of other people. It grosses me out when it's other people's kids.
That said, sometimes things just happen. Sometimes a diaper has to get changed, even when you're in front of other people. I have to see adults who drool on themselves and shout obscenities on the bus, adults who have terrible body odor, bad breath, black teeth and greasy hair. Sometimes they can't help it; other times they're perfectly sane adults in full control of their faculties. It's unpleasant, but I don't get angry (well, maybe a little if it's someone who could control it if he chose to, but it's hard to tell that just by looking); it's just a part of living in a world with other people.