Fair is a nebulous concept! It means different things to different people. As long as the rules are announced in advance, and then followed, it's fair. What really counts is the perception of fair.
Casinos are quite different than home tournaments, and both are different than bar leagues. I've never played in a casino tournament, so I can't say how they do it. I can say casinos do poker tournaments for the same reason they do everything else -- to make money! If home games did that, it's an illegal rake. Well, it's a rake that in most states is illegal.
Law: You will get the kind of behavior your rules encourage.
The "pay your money get a full stack" is fair if announced in advance. So is the rule that those wearing pink polka dot shirts get double the stack size if it's announced in advance.
For casinos, it's simple game administration. What's best for the bottom line is what they are going to do. I always thought it odd that they blinded off prepaid stacks, but not the stacks of latecomers, but I won't call that unfair. I'll just say that makes about as much sense to me as putting screen doors on submarines. But I get why casinos do it. Anything else is more complicated. They want as many entrants as possible because each one is worth more money to the casino. The more complex game management is, the less money they make. Home games lack that profit motive or the need to pay for management and floor space, so they should be different, probably in a lot of ways.
I used to play in a game that players didn't prepay, but if you let the host know you were coming, they assigned you a table and put a stack on that table for you and blinded it off. If you just showed up without notice, you paid and got a full stack. So here's what I did. First, I NEVER told them in advance I was coming. Their rules actually discouraged that. If I did run late, my stack wasn't blinded (I think I was late only once, due to getting off work late). Second, I volunteered to be the guy who blinded the late stacks. They needed someone reliable who knew how to do it, so they were happy to let me do them that favor. Third, I put those stacks to my left because "that made more sense when you shuffled behind." No one questioned it, and I never mentioned the big advantage it gave me. I got to be the BB twice a round, and if there were 2 late comers at my table, 3x per round. I'm not sure if anyone ever figured out what a big advantage that was for me.
You know what's even more stupid? It's when the host assigns those who have signed up at a table with unassigned seats, and at my suggestion, assign those not there tables first. If 2 wound up at the same table, I'd volunteer to sit at that table since dealing with 2 blinding stacks is "more complicated," and the host quickly agrees. No one wants to have to deal with that problem! Ah, if only they had 7 (in their 8-player tables) assigned to one table, and I could manage all 7! No one can really say it's an unfair advantage, because I followed the rules they had. It was self-dealt too, and I could deal really fast in that situation! To me, if the rules give a player that kind of advantage, the problem is the rules, not players taking advantage of the rules.
Casinos have less of an issue with that since there is truly random seating, which almost never happens in a home game. So yes, a player effectively gets the BB 2x/round, but it's not as certain as that home game situation I was in.
For the most part, our players don't prepay. If they did, I'd blind their stacks (and have on the rare occasions where it's come up). But I followed the pay and get a big stack, and I always want the most money in the prize pool we can get. Late arrivals, at least if the game is not full, I do not find to be a huge inconvenience, though I'll be the first to admit it is easier to plan when you know who is coming.
However, the perception of fairness was a problem. All it takes is one of your better players, who should know better, losing a hand to someone who sucked out on them, and then getting KO'd by a latecomer who "was rewarded with a full stack for showing up late," for them to complain. If the latecomer also sucked out on them, they'd complain and leave upset, though they came back.
I track this, and I know that a player showing up even one hand late affects their chances of cashing. Statistically, their chances of cashing are reduced by 67-75% in our game if they aren't there on time. My theory is that every game has a rhythm and not being there at the start causes late comers to miss something. It's been suggested that maybe that's because the good players don't show up late. There may be some truth to that, but it's not completely true. One of our best players is a few minutes late frequently (1/3 to less than 1/2 the time). He does better than most when he's late, but it does significantly and negatively change his chances of cashing. We have a bonus now (see below), and that might explain part of that, though I think he's good enough to overcome the lack of the bonus. It's hard to say being late is the cause though.
Correlation is not cause, but it's just hard to prove either way. I've shared those stats with the players who complain about losing early to a latecomer. I'm glad those players don't build submarines for us. They may be good at poker, but logic isn't necessarily their strong suit. The perception of unfairness persisted. So I decided to act even though I didn't agree.
A related problem is the lagging starting time. I've always tried to start on time. That same game I played in "started at 7." I'm not sure what they meant by started. Apparently that is also a nebulous concept. First it was wait for a couple of people who are coming, and then players figured whatever starting at 7 meant, it didn't mean they started playing poker at 7 and they didn't start blinding stacks off at 7. My first year, the average starting when from 7:05-7:10, to 7:40-7:45. Despite my attempts to start on time, I found the same problem, though not as bad.
I started with BG's empty seat rule. As the button approached an empty seat stack, we removed a SB and BB from that stack from play. If that player showed up fight after that, they had to wait until the button passed to get cards. By removing chips from the stack and game, we'd just have an empty stack at every seat. If someone showed up, they were randomly assigned a stack and lived with where that was. I found the starting time stopped lagging, and players perceived that as more fair.
To me for our game, "starting time" means when players draw their seating chip and move to their seat. Once that happens, we expect to start dealing cards within 5 minutes. I think of our intended starting time as being 15 minutes after the announced time, but the reality is that it is less than 5 minutes after most of the time. We play on Fridays, traffic might be a little heavier, and starting before 7:15 is just difficult for our crowd. I announce 7:15 as the starting time.
The only issue I had with that rule was it was apparently a little complicated for others to manage at the "other" table. My tables are in different rooms. So after using BG's rule (and he privately helped me develop our rule -- thanks BG!) successfully for the most part, I decided to start an Early Bird Bonus to those who were either registered and paid by 7:05, or at least in the door and in line to pay by then.
For us, that has been highly successful at starting on time -- even better than the empty seat rule. Depending on the night, that's 10-12.5% of their starting stack. Then everyone who comes after gets a full starting stack. Since I allow people to enter up to round 7 (the start of the 3rd hour), that means we don't deal with empty seats through 6 rounds. The truth is, the blinds are such that the failure to get the bonus is much worse than being late with the blinding. But players like it and 95% show up on time. It has even resulted in us starting some games 3-5 minutes early. If all pre-registrants are there and paid by 7:05, there is a reasonable chance we will be starting before the announced starting time.
Develop rules that encourage starting on time and are easy to manage. It's the best thing for you as a host, it's the best thing for your game, and your players will appreciate it.
I like Zombie's meal before hand idea. It's not practical for me for a couple of reasons. The first is that we play on Friday, a workday for most of my players, and we couldn't start until 8:30 or so if I fixed them a meal for the price of admission. The second reason is my wife won't cook for that large a crowd. If I fixed them a meal, I'd spend a fortune on get well cards! I love the idea though, and don't doubt he rarely has latecomers.
BG and others have rules that encourage starting on time. I found a couple of things have worked well for us and are easy to manage. That creates the perception of a well-run game, and players like that.