1. Call the run
Give double dkp to those that showed up on time and call the run. It won't take too many times of this before people will get frustrated at falling way behind on dkp and the raiders that don't get to raid will help motivate their fellow guildies to show up so they can play.
2. On Time DKP Bonus
Give a small dkp bonus to those that show up on time and prepared. This won't seem to have a huge impact initially until people start losing out on their favourite item by 5 points. It's a slower solution than #1, but can be just as effective.
3. Move the Raid time back
Sometimes a guild simply doesn't have the player base at the current time and needs to look into a new raid time. Often this option is not considered because the current raid time worked so well in the past. The reality is if the numbers aren't there at the right time, what's the point?