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.