The United States Constitution guarantees the right of citizens peacefully protest any issues they desire, not just the ones that are popular with the majority. The soldiers that are the guests of honor for those homecoming celebrations being protested would the among the first to remind us that they didn't fight just for the people and idea they personally approved of. They defended the Constitution protect ALL Americans.
It is in poor taste, but protesters have every right to peaceably assemble in protest. If you don't like it, organize a bigger counter protest. Counter protests have been tremendously helpful in pushing back on the Westboro Baptist Church protests. It's actually a beautiful thing because it shows that more expression and more activism make society stronger.
Yes, citizens should have the right to protest at any event at any time. This is an intregal part of a person's right to freedom of speech. Simply because it is an unpopular stance does not mean it should be banned. However, protesters should always be respectful of others around them and of the laws.
As soon as you start restricting what people can and cannot protest, you are infringing upon basic rights. This can be said for any issue. People can protest whatever they like, and certainly many of these protests will offend others. This is the nature of living in a society that purports to be free. People may not like what you have to say, but that doesn't mean it shouldn't be said.
While many, particularly the family members and friends of homecoming soldiers, might find such protests to be distasteful in the extreme, the right to protest is a valuable component of our first amendment rights. Some would argue that unpopular speech is the only speech that needs protecting. Protests at homecoming celebrations would certainly fall under this rubric.