Show core fields before Profile2 fields
You can use the hook_form_alter() to alter the form and change the weight attribute, if your field is field_username you can use something like this:

function YOUR_MODULE_NAME_form_alter(&amp;$form, &amp;$form_state, $form_id) {

  if($form_id == 'YOUR_FORM_ID') {

    $form['field_username']['#weight'] = -50;
    $form['field_email']['#weight'] = -49;
  }
}