Two criteria I consider are: the suspect's ability to intrigue me and the skillfulnes of the actor portraying him. Based on those criteria by themselves I would pick Stiles who is portrayed by a very distinguished actor. Should the show continue after the Red John reveal, I could enjoy watching a battle of wits between Jane and Stiles.
However, I can't totally ignore the other clues. Unless it is a red herring that can be explained, one of the clues SEEMS to suggest that Stiles is too old to be Red John. I can't completely dismiss that.
Recently I watched Whedon's version of Shakespeare's MUCH ADO ABOUT NOTHING, and I noticed the outstanding performance of the actor who played the Prince. This same actor portrays Haffner. I think that an accomplished Shakespearean actor probably has the skill to portray an interesting nemesis of Jane. So I lean toward suspecting that Haffner is Red John.