How to properly alter the output for fields of type file?
I'm guessing a bit here as I can't see what you have installed/configured...

The file formatter function is file_field_formatter_view(), and the only formatter which has an image attached to it runs through theme_file_link(). I would assume that's where the markup you're referring to comes from.

You can override that in your theme:

function MYTHEME_file_link($vars) {
  ...
}


Or, if you can get away without having to reproduce the function, just preprocess is:

function MYTHEME_preprocess_file_link(&amp;$vars){ 
  ...
}