After much digging, it looks as though the only way to do this, declaratively at least, is to define 2 copies of the aspect in question. One that has the so-called mandatory fields set to enforced="False", so that these fields are no longer actually mandatory and the aspect can be added to content w/o an exception being thrown. The other copy of the aspect has the properties set to enforced="True" and is manually created and populated by a script when the content is moved.
As this sort of detail does not appear to be documented anywhere, I would very much appreciate some confirmation from the Alfresco devs that this is indeed the best (only?) way to go.