The Mayan calendar isn't based on solar days, it is based on seasons. The need for leap years (and leap days, etc.) comes from our day-centric (Julian, Gregorian) calendars. It's not that the Maya weren't advanced enough to figure out leap years (known flaw in day-centric calendars since ~25 BCE), it's that leap years have no meaning in their calendar...they are non sequitur.
Their timing is just fine. Of course, at the end of their calendar, you should do as you do when any calendar ends...pick up a new one.