How to handle enabling new modules with Drush via makefile
I worked for a company that had a large dev/stage/prod flow that tried to automate as much as possible.  Everything had to be done in code, scripted either using features or update hooks.

Basically, what you wanting is to have 1 custom module that exists to contain update hooks.  This way, when a developer pulls an update to the code base, they run the db update, and that can perform whatever module enable/disables need to happen.  The update hooks do not affect a new installation, because it is assumed that the module is already up to date when it is installed, and will only execute newer updates.

To summarize:


Continue using your installation profile to perform the necessary installation tasks (enabling modules, etc.).
Use a custom "update" module which uses hook_update_NXXX() to enable/disable new modules and otherwise keep your site's administrative tasks in sync.


Here is a post that talks about a similar approach and gives code examples.