In my experience this is one of the biggest bugs in Maven. If you have more than one configuration for the same plugin in different profiles, the order is simply unpredictable. I even observed, that I had some plugin order in project B in a given phase, and as soon as some of the same plugins got a config in a parent project (not even in the same phase), the order was ruined.
There is an obviously falsely closed bug related to this at https://issues.apache.org/jira/browse/MNG-2258.
Possible workarounds
- Try to shift some of the plugins to previous phase if possible (prepare-test used for some of the plugins and test for the rest)
- Try to replace the functionality of multiple plugins with a groovy-maven-plugin script (quite handy with the ant integration, and you reach the list of the active profiles in the script)
- Write your own mojo and call the plugins in the correct order (See https://github.com/TimMoore/mojo-executor)
- Give a try to gradle. Maybe it fits your needs, and it comes with a lot of good things from Maven
I do not think that there is any more you can do right now.