Developers should not have admin rights to a production database. They should not be able to disable triggers because they should not have the rights on prod to do anything except select.
What is the problem with the trigger(s) that people feel the need to disable it? It is badly written? Does it not handle multiple rows correctly? Does it prevent something from happening that they need to happen?
In this situation, we have documentation on how to deal with getting around the trigger, rather than disabling it (i.e. set a flag) but obviously certain developers know better.
This indicates to me that the trigger itself is a problem. Rewrite it so there does not need to be a workaround.
Based on a comment
Add an over-ride trigger field to your data. When you want to override it, send in a value of 1, if the inserted table has a value of one, then have an if stament that ignores the parts of the trigger you need ignored for those records but that then goes on and does the other trigger operations. At the end reset the value of the override field to null.
Alternatively, put the audit triggers in separate triggers, so when they disable the one they need to temporarily disable, the audit triggers still run.
Or take the "sometimes we run it stuff" out of the trigger altogether and add it to the processes that insert records where you want it to run and not to the others.