MSBuild has a facility to update the value of an XML tag in any XML file during the build process through an XMLUpdate task, which is configured by any xmlupdate element such as:
Value="Test from $(MSBuildProjectFile)"/>
It also has an optional delete attribute to specify the element/attribute is deleted, but the MSBuild implementation lacks an Add attribute which should be present for a complete implementation.
I propose adding the same function to Cordova's prepare function. <xmlupdate> tags could be placed directly in the root node of the configuration, or more likely in a <platform> section.
This would allow configuration of all items in the various platform's manifest files to be created/updated/deleted for the cases where there is not specialized code in "cordova prepare" to populate them.
Source code for the MSBuild implementation is here: