I have found M2E works fine when used activeByDefault instead of activation property.
https://github.com/lfryc/m2e-profile-activation-test/blob/default-activation/pom.xml#L12
But this wouldn't work in bigger project, where several profiles must be activated together with default jsf_ri profile,
as in case of project which consumes this feature:
https://github.com/richfaces/build/blob/develop/parent/pom.xml#L725