The current code assumes that the action is notified of every profile change, which is only the case when the action is configured to run in all profiles. The code that prevents brightness from being raised when switching to a more conservative profile gets confused if the action didn't run in the "previous" profile. Make it more robust by always querying the core for the previous profile, which it luckily hasn't updated yet when the action gets executed.
The bug appears to be present in the wireless action as well. The fix there will probably be more involved because there is no equivalent to
brightness() --- i.e. the state needed by the action isn't magically recorded elsewhere in the system. So I need to teach the action that a profile where it's disabled is equivalent to
NoAction... Hints welcome.