Custom reference field settings in different content types
The solution a colleague proposed is to add the following code in the hook_form_alter():

$language = $form['field_user']['#language'];
$form['field_user'][$language]['#multiple'] = 0;


If you want to be a bit more aggressive on data consistency you can also hook into the form validator and check that the correct number of values is inserted.