I have just published the CiviCRM native extension Contact Specific API Defaults which allows you to specify specific defaults for API fields for a contact.
The extension was funded by Mediwe and developed by CiviCooP based on this use case:
Mediwe has lots of customers sending them data with the API. This data eventually results in cases and activities being created with lots of custom data. For some customers these custom fields need specific defaults, no matter what the API data is! So even if the API sends CiviCRM the value goat the actual custom field should always have the value donkey and the goat should simply be overwritten. But only for specific customers! The reason they do this is that sometimes the staff entering data at the customer do unexpected stuff and make mistakes. They want to make sure these mistakes do not hinder the actual process and are corrected before they get into CiviCRM.
This extension enables this but only for data coming in with the CiviCRM API!