There are some people for whom the intricacies of a clock are a mystery. There are others who just expect others to wait on them. There are also some who like the drama and attention. Absent more info, it's hard to say which of these Susan is.
Either way, I suspect that she's not late to work every day, so the excuse of "I'm always late" doesn't really fly.
What has worked for me in the past is to simply say, "I'm going to be here and I'll wait for 10 minutes. if you're not here, it's no big deal - I'll just leave and we can catch each other later." So you're not being a jerk about but establishing boundaries. Then if Susan misses her ride, your response can be "I was there; I waited for 10 minutes like we planned; I didn't see you or hear from you, so I left". After a couple missed rides, she'll learn that you aren't a personal taxi service.
Really this is Gerard's issue if he's the one picking her up. It's annoying to you as the host, I'm sure, but you're at least home and not waiting in your car for her.
Edit in response to Aaron's comment: This all depends on how hard-nosed you want to be as well. If Susan calls to say "I realize you're going to leave shortly; I'll be there in 10 minutes", I'd wait the extra 10 minutes. After all, the desired result is for her to give an accurate idea of how long to wait and not be demanding of our friends. I'd also add this comment: changing someone else's behavior is hard. However, changing yours is easy. That's the basics of my response: we can either try to get someone to change their behavior, which is hard, or we can change our response to their behavior, which is much easier and may, as a side benefit, lead to the desired behavior change.