Using form_set_value() in Drupal 7
After a lot of debugging, I finally managed to make this work. The trick lies inside $form['complete form']. but first things first, how does form_set_value() work and what does it do?

The form_set_value() function

As the documentation suggests: 


  If you want to update the value of $form['elem1']['elem2'], which should be stored in $form_state['values']['elem1']['elem2'], you would set $element['#parents'] = array('elem1','elem2').


Now what does that mean? In my case, I had a textfield called 'field_event_title', which is the name I gave it on creation. In $form, all fields have a sub-array in $form['field_name'], which in my case is $form['field_event_title']. This is where the submitted value also is stored. Since it is a textfield, Drupal maintains both the language and the delta [question for editors: is this right?] of the input data. So in fact, the value is not stored in $form['field_name']['value'], but in $form['field_name']['und'][0]['value'] (['und']=language; [0]=delta). Note that "und" is the Drupal key for the default language of the site; if it is in German, then it would be "de"; however, in most cases it should be "und." 

To actually change the value using form_set_value(), one is ought to invoke the function by writing:

form_set_value($form['field_name'], array('und' =&gt; array(0 =&gt; array('value' =&gt; 'foo'))), $form_state);


Updating a form to repopulate it with different values than submitted (or clearing them)

Thus far, this was what Krister Andersson suggested, but that did not work in my case, since I wanted to clear fields once a custom validation error has been invoked. One would suspect that the form repopulates itself using the values inside $form_state['values'] (which is actually the place where the values are stored, the actual place that gets updated when using form_set_value() and the place which generates the $form later), but that is not the case: It uses the values inside $form_state['complete form'], which is a 'copy' of $form (notice that it is spelled 'complete form', with a space, not an underscore). 

Using $form_state['complete form']['field_name']['und'][0]['value']['#value'] = 'foo'; is what updates the values that actually repopulate the form on a validation error. (Note: you can, as do I in my usecase, set it to =NULL to simply empty the field.)

Summary

Where is the difference between $form['field_name'] (e.g. updating through form_set_value()) and $form['complete form']? Well, the former updates the actual value, which then gets stored inside the database; the latter is being used to repopulate a form when it failed a validation.