Not all Giovanni are built the same, it seems. Some Persians fast moves just kill your Machamp or Lucario faster than you can beat them. Weather also plays a part.
Suggest doing your Giovanni battle in cloudy weather so that your fighting type can get a boost. If it's partly cloudy, and Persian has normal fast move, it will ko you super fast.
Took me a lot of revives and potion to realize that. Because my main account with maxout Machamp breezes through Giovanni fairly easily but my other account also with maxout Machamp fight until finger pain also get pawned by Persian before able to dish out any charged move.