How to properly format equation symbols

I can reproduce your picture with

\documentclass{amsart}
\usepackage{mathptmx}

\begin{document}

\begin{equation}
\hat{\mathcal{H}}_{rr}=B^{(e)}\hat{J}^{2}
\end{equation}

\end{document}

The problem is in mathptmx, which is a poor 30 year old hack for getting Times in math papers.

Use a more modern package.

\documentclass{amsart}
\usepackage{newtxtext,newtxmath}
\usepackage{calrsfs}

\begin{document}

\begin{equation}
\hat{\mathcal{H}}_{rr}=B^{(e)}\hat{J}^{2}
\end{equation}

\end{document}

enter image description here

With rsfso instead of calrsfs:

\documentclass{amsart}
\usepackage{newtxtext,newtxmath}
\usepackage{rsfso}

\begin{document}

\begin{equation}
\hat{\mathcal{H}}_{rr}=B^{(e)}\hat{J}^{\,2}
\end{equation}

\end{document}

enter image description here


Add some kerning before the exponent. Also, for capital letters, I would use the \widehat command from mathabx. As it is already defined in amssymb, I defined a \varwidehat accent borrowed from mathabx:

\documentclass{amsart}
\usepackage{ieeetrantools}

\DeclareFontFamily{U}{mathx}{\hyphenchar\font45}
\DeclareFontShape{U}{mathx}{m}{n}{
      <5> <6> <7> <8> <9> <10>
      <10.95> <12> <14.4> <17.28> <20.74> <24.88>
      mathx10
      }{}
\DeclareSymbolFont{mathx}{U}{mathx}{m}{n}
\DeclareFontSubstitution{U}{mathx}{m}{n}
\DeclareMathAccent{\varwidehat}{0}{mathx}{"70}

\begin{document}

\begin{IEEEeqnarray}{rCl}
  \label{eq:48}
  \varwidehat{\mathcal{H}}_{rr}=B^{(e)}\varwidehat{J}^{\mkern2mu 2}
\end{IEEEeqnarray}

\end{document} 

enter image description here