Giovanni's choice of legendary Shadow Pokémon and second party member rotate every few months, meaning you will often find yourself battling different Pokémon. Persian will always come up first and is weak against fighting, so having a Lucario or Machamp are your best bets here.