Architecture for a MOBA

Options
Hi, I have decided to use Photon Unity Networking for my project which is a 3v3 MOBA game with similarities with League of Legends or Battlerite.
I have found 3 ways for the network synchronization but I'm not sure which one I should use.

1. Master client receives inputs from the slaves and handles all the simulations, then he syncs the new states of the gameobjects to the slaves. This method would work like an authoritative server but it's more heavy on the network and the master would have a smooth game while the others might encounter lag.

2. Every client syncs his player, the master detects collisions for damages (in my game most attacks are based on a collider hitting during an animation). This seems like a good way and this is what I tested with, but most of the time a slave attacks the master, the master doesn't detect the hit because it doesn't sync the animation very good (all my animations are synchronized in continuous mode).

3. Every client syncs his player, and every player detects the collisions for the attacks of his own player. I think this is the best way so that every player can play smoothly but if one of the client encounter lag, he could be able to damage an enemy player that is no longer in that position.

What do you think? Is there a better way I didn't think about.