Perfect--thank you. I used the widget you suggested, combined with my own freemarker code, and inserted it into the HTML structure of the profile header component. Here's the final custom component code, which outputs the profile header anywhere on the site! :)
<#assign avatarUrl = rest("/users/id/${user.id}/profiles/avatar/url").value />
<#assign rankingName = rest("users/id/${user.id}/ranking/name").value />
<#assign profileUrl = "/t5/user/viewprofilepage/user-id/${user.id}" />
<div class="lia-quilt-row lia-quilt-row-standard lia-mobile-profile-header lia-component-profile-header">
<div class="lia-quilt-column lia-quilt-column-24 lia-quilt-column-single avatar-name-rank-container">
<div class="lia-quilt-column-alley lia-quilt-column-alley-single">
<div class="profile-user-avatar-container">
<div class="custom-avatar-wrapper">
<div class="UserAvatar lia-user-avatar lia-component-common-widget-user-avatar">
<a class="UserAvatar lia-link-navigation" tabindex="-1" target="_self" id="link_1" href="${profileUrl}"><img class="lia-user-avatar-message" title="${user.login}" src="${avatarUrl}"></a>
</div>
</div>
</div>
<div class="lia-user-attributes">
<span class="UserName lia-user-name">
<@component id="common.widget.user-name" user="conv:${user.login}"/>
<div class="lia-user-rank">${rankingName}</div>
</span>
</div>
</div>
</div>
</div>