How would I be able to use a font awesome icon as a user’s avatar?

Yes, it would.

You can use get_avatar filter and display whatever you want as avatar. Here’s an example:

function my_custom_avatar( $avatar, $id_or_email, $size, $default, $alt ) {
    $user = false;

    if ( is_numeric( $id_or_email ) ) {

        $id = (int) $id_or_email;
        $user = get_user_by( 'id' , $id );

    } elseif ( is_object( $id_or_email ) ) {

        if ( ! empty( $id_or_email->user_id ) ) {
            $id = (int) $id_or_email->user_id;
            $user = get_user_by( 'id' , $id );
        }

    } else {
        $user = get_user_by( 'email', $id_or_email );   
    }

    if ( $user && is_object( $user ) ) {

        if ( $user->data->ID == '1' ) {
            $avatar="<i class="fa fa-user" aria-hidden="true"></i>";
        }

    }

    return $avatar;
}
add_filter( 'get_avatar', 'my_custom_avatar', 10, 5 );

It will show user icon as avatar for user with ID == 1.

Of course it would make much more sense, if the icon was stored as some user meta and so on. But this should be some start…