Babies usually fall into some sort of routine of their own. I tend to try to work around my babies' natural routines most of the time and try to slowly change them to match what I want. For example, we do lunch at 12pm and then quiet time from 1pm-3pm, so this is the ideal time for a nap. My baby was naturally napping from 11:30-2:30pm, so I clearly had to change this. I kept him busy so he would stay up a little later every day until he was going to sleep at 1 and eating lunch on time. My other kids go to bed at 8pm, and my baby was napping from 7-8pm and then staying up until 11, so we sleep trained him so he would go to bed at 10, then 9 (for a month!), then 8 with his siblings. Now, our schedule is very strict and sometimes, being a baby, my baby will try to nap at 11am instead of 1pm. No matter what, if he naps early, he will only take a short nap, and he will NOT nap again once he's fallen asleep even for a second, so I will try to keep him up until his normal nap time so he will sleep long enough.
I am not above putting my little one in a high chair with some food if I need to, to keep him awake just a little longer. Sometimes, the rise in blood sugar is all a baby needs to stay awake a bit longer.
We'll also play games or something, but if he's super cranky and miserable, I'll try a bath. If they're crabby, put them in water. My kids love baths, and he will try his best to stay awake so he can enjoy his bath. If it puts him half an hour closer to his normal schedule, it makes it easier for me to get him back on schedule for the next part of our day.
I usually start scheduling my babies right away, but my fourth born was so colicky that this didn't happen. I didn't start scheduling him until he was 8 months old. It was just as easy as getting my newborns into a routine.