What circumstances grant me the Nice/Great/Excellent catch from my Buddy?

Solution 1:

As far as I understand, it is based on whether the ball was landing in the circle (if it was there) and what size it was (if it was there). So if you throw it whilst the Pokemon is attacking, you should still aim for the middle. And have the circle locked in small.