Is there anyway to force is_singular() to be true when not loading template?

I’m not sure I understand, nevertheless:

Maybe you could instead try to trace back when the specific action from amazon plugin is registered. (lets call this hook_registration)

And also the hook when your problem occurs, lets call this ( hook_execution )

So, just hook yourself anywhere between hook_activation and hook_execution, and, inside the function, you can use remove_action to delete the problematic action, ( potentially with some if statements if needed)

EDIT: same logic applies for filters instead of actions.