-Buff or crosshatch your foundation using multiple thin layers. Set with powder and a setting spray.
-Use eyeshadow primer
-Tubing mascara is very longwearing (I second the Blinc one)
-Layer a powder blush over a stain blush
-Use a lip liner over the whole lip (fill it in), then put lipstick, then blot, then reapply liptstick. Or, use a matte liquid lipstick. Anything glossy will not be as longwearing.
After washing your face, run an ice cube over it a few times. Then, use a primer (Laura Mercier is good). Then, mix a bit of moisturizer with some mattifying lotion and apply that. Let it set while you brush your teeth/do your hair, etc. Then, wear as little makeup as you can get away with. Also, keep your makeup in the fridge overnight (in a Ziploc bag). Of course, your skin will also be at its even-toned, zit-free best before doing all of this...
No really, I find that wearing as little makeup as possible (after doing all those other things) is the best way to keep your makeup looking fresh during a long shoot.