Is there a way to set microphone input volume level if a change is detected in input volume level?
You can bind both output volume &amp; input volume in one script that can be accessed via Script Editor.app > preferences > show app icon in menu bar. 

tell application "System Events"
    set volume 2 -- this can be from 0-7
    set volume input volume 50
end tell