In my experience, the credit card example is _usually_ solved in a practical way which is still somewhat bad, but allows the person to at least get a card: They abbreviate one or both names in some way for the card.
As crappy as the system with its max length for people's names, it's common to allow first initial + surname. It also works very badly for non ASCII names - to my understanding, I _think_ people in East Asia just have to use romanisations if they want to have a Mastercard. This all sucks, but it's a bit more than "the card design" - it's quite fundamentally baked in to how the whole system works. There aren't a lot of systems out there which are based on more aged and legacy technology than card networks.
As crappy as the system with its max length for people's names, it's common to allow first initial + surname. It also works very badly for non ASCII names - to my understanding, I _think_ people in East Asia just have to use romanisations if they want to have a Mastercard. This all sucks, but it's a bit more than "the card design" - it's quite fundamentally baked in to how the whole system works. There aren't a lot of systems out there which are based on more aged and legacy technology than card networks.