My sleep schedule used to get F'ed up often as well. I would stay up/sleep for about ~2 hours longer each day so that I eventually was going to bed at 4pm and waking up at 12pm.
After a while it starts getting really depressive to not get any sunlight etc. So I started searching the web for some tips on how to turn my sleep schedule back to 12pm-8am.
What I found was that there apparently are some people who believe that your eating schedule has a more dominating effect on the body's inner clock than the whole daylight/nighttime thing.
So basically what that means is that your body will try to stay awake according to when food is available (when you decide to eat). Furthermore, according to this theory, the whole reason that our schedule keeps shifting is because we don't eat breakfast as soon as we wake up and/or eat to much nighttime snacks.
So again, according to this theory, in order to stay on the same schedule all the time, we should eat breakfast as soon as we wake up, and not eat for like 4-5 hours before bedtime.
I've found this working for me (hello placebo) although I may be way off