An alternative is to define a myopamp
macro that erases the default op amp
polarities and redraw it with scaling options, as show below.
\newcommand{\myopamp}[2] % #1 = name , #2 = scaling factor
{\draw[thick] (#1){};
\filldraw[white] (#1.+) +(16pt,0) circle(3pt)
(#1.-) +(16pt,0) circle(3pt);
\draw[] (#1.+) +(18pt,0) node(){\scalebox{#2}{$+$}}
(#1.-) +(18pt,0) node(){\scalebox{#2}{$-$}};
}

Code
\documentclass[border=5mm]{standalone}
\usepackage[american,siunitx]{circuitikz}
%\usetikzlibrary{arrows,calc,positioning}
\newcommand{\myopamp}[2] % #1 = name , #2 = scaling factor
{\draw[thick] (#1){};
\filldraw[white] (#1.+) +(16pt,0) circle(3pt)
(#1.-) +(16pt,0)circle(3pt);
\draw[] (#1.+) +(18pt,0) node(){\scalebox{#2}{$+$}}
(#1.-) +(18pt,0) node(){\scalebox{#2}{$-$}};
}
\begin{document}
\begin{circuitikz}
\node at (5,5) {OP's result};
\draw (5,2) node[op amp] (opamp) {}
(0.5,2.5) to [short, o-, i^>=$I_{in}$] (2,2.5)
to [R, l=$R_{in}$] (opamp.-)
(0.5,2.5) node[above] {$V_{in}$}
(3.8,1) node [ground] {}
to [short] (opamp.+)
(3.8,3.5) to [R, l=$R_{load}$] (6.2,3.5)
(3.8,3.5) to [short, -*] (opamp.-)
(6.2,3.5) to [short, -*, i^>=$I_{load}$] (opamp.out)
(opamp.out) to [short, -o] (7, 2);
\end{circuitikz}
\begin{circuitikz}
\node at (5,5) {Proposed result};
\draw (5,2) node[op amp] (opamp) {};
\myopamp{opamp}{2} % add this command here
\draw (0.5,2.5) to [short, o-, i^>=$I_{in}$] (2,2.5)
to [R, l=$R_{in}$] (opamp.-)
(0.5,2.5) node[above] {$V_{in}$}
(3.8,1) node [ground] {}
to [short] (opamp.+)
(3.8,3.5) to [R, l=$R_{load}$] (6.2,3.5)
(3.8,3.5) to [short, -*] (opamp.-)
(6.2,3.5) to [short, -*, i^>=$I_{load}$] (opamp.out)
(opamp.out) to [short, -o] (7, 2);
\end{circuitikz}
\end{document}
\documentclass
and the appropriate packages so that those trying to help don't have to recreate it.