Not all Giovanni are built the same. 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.
Alternative strategy is to use your Rock type tyranitar/rhyperior first to charge up some energy against the Persian and also tank some hits before switching to your machamp/Lucario to finish off the Persian.
This might be a better strategy than waiting for right weather or finding the easier Giovanni.