Dry your eyelids before applying any eye makeup.

This will prevent your makeup from running.
Oily eyelids can cause makeup to slide off and smudge. Dab on some loose powder to remove the excess oil. Then apply your liner. Then you can put some more loose powder on top.

* you can substitute eyeshadow for the loose powder.