Puppet users are pretty difficult to fight, but any Genjutsu user (Sharingan) S/t users (Tobi, Minato) Rinnegan (Tobi / Nagato) or Chakra absorption (Tobi / Nagati / Kisame)
Chakra absorption I think may be 2nd to genjutsu, because someone who is heavily dependent on chakra based attacks can't change their entire fighting style mid-fight. Sharingan Genjutsu, the reason for this is obvious