It's actually a character trait, a problem called "time optimism". Time optimists tend to underestimate the amount of time a thing will take, like getting dressed or driving to a location. Time pessimissts have the opposite problem. I am a time pessimisst and my DH is usually a time realist who once in a while will veer off into time optimist, so we are always on time and occasionally early unless he's by himself, in which case he will cut things v.v. close on occasion.
You see time optimism and time pessimissm in depressed folks, but it can also be a deeply ingrained personality trait that is really difficult to relearn. It has nothing to do with narcissism or benevolence. Time optimists tend to be really abjectly sorry for their lateness, but often just can't figure out WHY they're late. Time pessimists, well. We tend to be bored a lot. (I bring a book almost everywhere.)
In short, if you know someone is a time optimist, tell them to be somewhere the amount of time they are usually late. So, for one person I know, we tell her to be someplace at 7 if we want her there by 9, but for others we'd just say 8:30 for a 9 appointment.
Also, I know who my time optimist friends are and plan accordingly. I have one who was once 5 hours late for a girls' day out and I wasted a day of vacation time because of her lateness. Now, if I have a girls' day out, I make my plans and tell her where I'll be at X time. If she's there good, if not, I can have a good time anyway. If I visit her for vacation or vice versa, I make sure I have alternate plans for us if she just can't get her act together in time for the plan, and/or I make sure it's very difficult for her to put things off until the last minute - I've got shepherding without it being obvious down to a fine science.