BlochSphere package : draw black axis
These element are either obscured by the sphere, as pointed out by KJO, or have not full opacity, which makes them look gray. So you can draw them by hand and change the opacity to arrive at
\documentclass{standalone}
\usepackage{blochsphere}
\begin{document}
\begin{blochsphere}[radius=1.5 cm,tilt=15,rotation=-20]
\drawBallGrid[style={opacity=1,ultra thin}]{30}{30}
\drawGreatCircle[style={dashed}]{0}{0}{0}
% \drawAxis[style={draw=black}]{0}{0}
%
% \drawAxis[style={color=black,opacity=1}]{90}{0}
\labelLatLon{up}{90}{0};
\labelLatLon{down}{-90}{90};
\node[above,font=\tiny] at (up) {$\left|0\right>$ };
\node[below,font=\tiny] at (down) {$\left|1\right>$};
\labelLatLon{l}{0}{180};
\labelLatLon{r}{0}{0};
\draw (l) -- (r);
\end{blochsphere}
\end{document}
Whether one should draw the cross line black is a matter of taste.
Encouraged by @marmot 's expert example I finally got this MWE of original request, note I had to drop ball opacity to 0.3
\documentclass{standalone}
\usepackage{blochsphere}
\begin{document}
\begin{blochsphere}[ball=3d,opacity=0.3]
\drawBallGrid[style={opacity=1,ultra thin}]{30}{30}
\drawAxis[scale=1.2]{0}{0}
\drawAxis[scale=1.8]{90}{90}
\drawAxis[scale=1.4]{90}{0}
\labelLatLon{up}{90}{20};
\labelLatLon{down}{-90}{90};
\node[above,{shift=(0,0.2,0)}] at (up) {\tiny N};
\node[below,{shift=(0,-0.2,0)}] at (down) {\tiny S};
\end{blochsphere}
\end{document}