Hi,
I think an option to consider would be to use this policy: NodeServicePolicies.OnUpdatePropertiesPolicy.
This behaviour will be triggered every time a node is updated. When you create a node this behaviour is going to be triggered (after the other ones like onCreateNode) and you can access to the properties and modify whatever you want.
This is the signature of the method:
public void onUpdateProperties(NodeRef nodeRef, Map<QName, Serializable> before,
Map<QName, Serializable> after)
When you create a node the param before will be empty.
Regards