Of course Messi is not the best fk taker. There are specialists like Calhanoglu or Pirlo and a couple of others (retired players like Juninho too of course) who are way better than him. But calling him bad? Bad are the guys who never take them because they would not score a goal in their life no matter from how many attempts.
Messi scored two in one game a couple of weeks ago, he scored in different Clasicos, he can bend them over the wall, he can fool the gk and surprise them with a shot into their corner, he has hit some from larger distance etc.
If that is bad then there are probably only 5 guys in the world who would be considered good at free kicks.