As written title, I have some suggestions on these.
1. Certain declines should be only activated by blocking players.
-->This is because we are able to detect if one is using bot for shiny hunting/fishing or etc.
--->This may be annoying but, if you are not really using bots, you can block the trainers and activate auto decline for trades/invite a link/adding friends/battle.
IF one is not using bot and having those auto declines, how to know if he/she using bot?It is logical that she/he running from battles and not responding to whispers.
Ye, we can also report certain players to admins, but what if they do have responded one time while the admins test them while they are using bots? and continued using bots for shiny hunting etc as they are believed as "not bot users".
If my thoughts are wrong, I will like to be advised much.