I had this exact same dilemma. Here's how I solved it.
In the corporate POM, I added a profile like this:
<profile>
<!-- When we are building the corporate base projects we don't want
to require that all of the properties that should be provided by
child projects (inheriters) are defined. So we activate this
profile when building the corporate projects to bypass anything
that only applies to children (the leaf projects).
Add "-Dcorporate.build=true" on the maven cmd line when building
and releasing the corporate POMs to accomplish this. -->
<id>corporate-pom-build</id>
<activation>
<property>
<name>corporate.build</name>
<value>true</value>
</property>
</activation>
<properties>
<enforcer.skip>true</enforcer.skip>
<remoteresources.skip>true</remoteresources.skip>
<assembly.skipAssembly>true</assembly.skipAssembly>
</properties>
</profile>
Then, as the comment says, I build the corporate POMs with
mvn -Dcorporate.build=true clean deploy
Other things you want to skip could go in that profile as well. Works like a charm.