I have the same problem and I'm so embarrassed when my makeup comes off because underneath is so red. Heres what i finally found that helps. I use Peter Thomas Roth Clini Matte SPF 20. It absorbs oil and reduces shine. Sometimes the oil is still there but it's not as shiny and the makeup isn't off. Then i use a product called All Nighter that i buy at Sephora. It's a spray, you may want to do a final make up touch up after spraying. The two together are amazing. On super hot and humid days i might add another product purchased at Sephora (same brand as All Nighter but for oil absorbtion). Sorry I'm out of it and can't remember the name,
I would reccomend you consider what your current diet, exercise, and sleep patterns are. What we eat has a huge impact on our skin. Check out the review on purely primal skin care on glam thread. It's basically an all natural program that gets your skin to its optimal levels, been using it for past 3 months and I can't complain to say the least.