How to override/enhance file_save_upload() function of file.inc?
Drupal runs on a Never hack core policy. 

The Drupal way to add a watermark to image is to use hook_form_alter to modify the form submit and do your things with $form_state['values']['YOUR_FIELD']

Eg:

function mymodule_form_alter(&amp;$form, $form_state, $form_id)  {
  switch ($form_id)  {
   case 'YOURFORMID':
     $form['#submit'][] = 'yourModule_yourform_submit';
     break;
   }
 }

function yourModule_yourform_submit($form, &amp;$form_state) {
    // do what you want to do 
    // use $form_state['values']
}


Or Try ImageCache Actions module.


  Watermarking - a much requested addition that enables you to place any
  image anywhere over a source picture, with alpha transparency