Speaking for myself only, as a player, what's fun for me is earning my own rewards. I don't think it's "fun" to miss a game, yet have my character advance along with everyone else who was actually there. If that were "fun," why would I ever need to actually show up and play? You could just call me on the phone and tell me how my character keeps advancing without any input from me at all!
Now, there's an argument to be made that falling too far behind the other PCs will so seriously disadvantage you that the game is no longer fun, either...but honestly, if you're missing that many sessions, you must not think the game is all that much fun in the first place. (The one exception to this would obviously be if you had to miss several sessions in a row, but are otherwise very committed to the game; in that case, a one-time "catch-up" award of XP is probably merited.)
As for not awarding unearned XP being a "punishment," that's just silly. If I don't go to work, I don't get paid; my employer isn't "punishing" me for skipping work. (And yeah, I know D&D is a game, not "work." That doesn't negate the point.)