We all have the freedom of speech and religion, but people like that need to understand confrontation will only lead to... Well confrontation. Not to mention it give people the wrong impression of all the other people who feel the same or believe the same thing, and when they try to talk to other people about what they believe, those people may think back to that confrontational person.
They should not be stopped, however they should have some discretion. For example in the picture for this opinion, the guy with the sign and the little boy. The little boy is too young to understand and the preacher should not try to manipulate his young mind. Also, if someone is uninterested, they should know their limits. Just as they have their rights, other people have theirs too.