Teresa Lisbon, though they are many reasons she can't be him but I just have this strong feeling that she is.
Remember that episode when Patrick left the CBI and pretended that he gave up on catching Red John ? His plan was going smooth until he told Lisbon about his plan !
Patrick trusts Teresa more than anyone in the world, maybe this is what she wants since she's Red John.
Why would she choose a fake psychic to solve the crime on season 5 episode 5 ( this week's ep ) for no reason ? What makes me feel that Teresa is Red John is that if you're going to accuse whom Red John is, she'd be the last one you'd accuse.