Having username as a path - Profiles 2 and Pathauto
you can automatically path save the user name when user access the user/uid page 
add a submit handler in form alter and 

$form['#submit'][1] = 'redirect_to_profile_username_page'; 


// here get the user name field

function redirect_to_profile_detail(&amp;$form, &amp;$form_state){
$uid = $form_state['build_info']['args'][0]-&gt;uid;
$user = user_load($uid);
$clean = $user-&gt;name;
      $Alias_1 = get_alias('source','user/'.$uid,1);
        $pathAlias = !empty($Alias_1) ? $Alias_1['alias'] : FALSE;
        if($pathAlias === FALSE){
                path_save($args = array("source" =&gt; 'user'.'/'.$uid,"alias" =&gt; $clean));
                $pathAlias = drupal_lookup_path('alias',$clean);
        }
       $form_state['redirect'] = $clean;
     }


this will redirect the user/uid page to that particular username as url page 

here we are creating a aliase for user/uid so when you access sitename/username that user profile page will be loaded.