how to change automatic placing of social plugins below content?

The plugin add content using the_content filter with a lower priority: 100.

So you can create a function that output metafields and use same filter with an higher priority, even the standard 20 priority is good.

function my_post_custom_data( $content ) {
  if ( ! is_single() ) return;
  global $post; 
  // here go the code that retrieve and append the custom field to the content
  // following is just an example
  $mydata="";
  $a_field = get_post_meta($post->ID, 'a_key', true) ? : '';
  $another_field = get_post_meta($post->ID, 'another_key', true) ? : '';
  if ($a_field) $mydata .= '<li>A key: ' . $a_field . '</li>';
  if ($another_field) $mydata .= '<li>Another key: ' . $another_field. '</li>';
  $mydata = ($a_field || $another_field) ?  '<div class="myfields"><ul>' . $mydata . '</ul></div>' : '';
  // don't forget to return, at least, the content...
  return $content . $mydata;
}

add_filter('the_content', 'my_post_custom_data');