I think the bigger issue is teams having registration for different tournaments opening on different days, filling quickly, and in the case of some school not knowing if you will be able to bring two teams. For example Rustin signed up for Cornell which was going to be the same date as U Penn. Both are fine options but U Penn is only 30 minutes away. Unfortunately U Penn's Registration opened after Cornell's and historically has filled up quickly. So we register for Cornell to make sure we are in somewhere and when we find out later we are accepted for U Penn we let Cornell know that week.I think this is the issue with having no registration fee. It would almost be better to have one as a "down payment" and then reimburse it later if they show up at competitionTeams that sign up should have an obligation to go and not simply "drop out." It's not fair to those on the waitlist nor the TOs or even those teams that attend and expect a certain level of competitionDropped out a few weeks after registration stating some variant of "we don't have the resources to attend"..
PS: Also worth noting registration was free... so kind of not cool?
And even that decision was partly controlled by whether or not we were accepted in the MIT lottery and could bring two teams. If MIT had not given us two teams we would have stayed local and attended the Battle at Valley Forge (which we had also registered for). That would have saved us money and taken away an overnight trip leaving us with more flexibility to attend Cornell if we wanted.
I am not sure how you solve the problem if there really is one. I don't believe Princeton being free really matters as none of the 4 invitationals I listed above are but yet experienced the same issue. Also many tournaments including our own have teams that drop out last minute. Often they are less experienced teams, but not always.