Part of your solution is here: IPS Thread
I have personally battled with this and keeping Adsense happy is goal number one.
Now you'll have to combine that with a ELSE statement so if it doesn't show ads because it's excluded then show another ad. I'm not an expert but I imagine it would look something like this.
{{if ( \IPS\Request::i()->controller == 'forums' AND isset( \IPS\Request::i()->id ) AND ! in_array( \IPS\Request::i()->id, array( forum_id1, forum_id2, forum_id3, forum_id4 ) ) ) OR !( in_array( \IPS\Request::i()->controller, array( 'system_app1', 'system_app2', 'system_app3', 'forums' ) ) OR in_array( \IPS\Request::i()->app, array( 'external_app1', 'external_app2') ) )}}
{advertisement="ad_tag_adsense"}
{{else}}
{advertisement="ad_tag_other"}
{{endif}}