Spectrogram power/magnitude normalization in analogy with image intensity normalization
there isn’t any one solution to this problem.  the application governs the solution.

There are a few issues associated with mapping a DFT bin from a STFT calculation to a pixel on a display. 

In many applications, the spectra tends to fall off with increasing frequency.  The low frequencies tend to dominate in the signal. Spectral leakage can cause these low frequencies to mask the high frequencies. Picking an appropriate window is important. Whitening your signal prior to taking DFTs is usually a good idea and can help picking a proper window. The window influences your overlap fraction.  

One can also do some short term averages (of power) in time of sequential spectra to help improve SNR for some classes of signals. This also compresses spectra in time which saves display bits.

One issue is gray scale or colors? This influences how many pixel bits you have.  Color gives you more bits to map to but one needs to tune a color map.

Color is useful for overlays on gray scale like cursors. 

Using the log of intensity (dB) does a very good job of mapping the dynamic range out a FFT to the range of a display pixel.  

A fixed point FFT can be easier to map to pixels over a floating point FFT. 

One reason that there isn’t a standard display technique is that display technology keeps advancing.  I first did this sort of display with a total of 480 bits across.  

One trick is to set all the pixels below a threshold (like a median) to zero. This cuts down a lot of clutter. Scene complexity can cut either way.

I would recommend that making your spectra flatter over frequency is worth the effort. 

One should also think about the interactions a user will have with the STFT image. Things like zoom, drill down, harmonic cursors, measurements like time differences and frequencies, ......