Author Page – List of categories plus number of posts in that category

you can try a much less elegant but a working solution which is to get all of the users posts and count their categories:

$query = new WP_Query(array(
    'author' => $curauth->ID,
    'posts_per_page' => -1
    )
    );
if ($query->have_posts()){
    $u_cats = array();
    while ($query->have_posts()){
        $query->the_post();
        $terms = wp_get_object_terms( $post->ID, 'category');
        foreach ($terms as $term){
            if (is_array($u_cats[$term->term_id])){
                $u_cats[$term->term_id]['count'] = $u_cats[$term->term_id]['count'] +1;
            }else{
                $u_cats[$term->term_id]['count'] = 1;
                $u_cats[$term->term_id]['name'] = $term->name;
                $u_cats[$term->term_id]['ID'] = $term->term_id ;
            }
        }
    }
    //Now $u_cats is an array of categories each with name, ID and author post count for that category
    $x = 0;
?>
<ul class="category-list">
    <?php foreach($u_cats as $category) : 
     if( $x%2 ){ ?>
    <li class="odd">
    <?php } else { ?>
    <li>
    <?php } ?>
        <a href="https://wordpress.stackexchange.com/questions/21581/<?php echo get_category_link( $category["ID'] ); ?>" title="<?php echo $category['name'];?>"><?php echo $category['name']; ?></a>(<?php echo $category['count']; ?>)
    </li>
    <?php $x++; endforeach; ?>
</ul>
<?php 

}