FFT averaging with different block sizes - how to scale the amplitudes
I do not immediately see any SNR advantage to splitting and averaging assuming you are dealing with additive white noise. I will explain why in case there are other possible approaches- but before detailing in simple terms, the SNR for the case of additive white noise is directly related to the bin width in frequency, and the bin width in frequency is inversely related to the length. For the rectangular window, the equivalent noise bandwidth is 1 bin wide. If we halve the number of bins, the bin width will double and therefore noise will double (+3 dB). If we average the result of two bins, the noise will go down by 1/2 relative to the signal (-3dB). So we ended up doing a lot of work to get back to where we started.
Before going into further details on that, to answer your scaling question the FFT scaling in magnitude is the length of the sequence (So $1/\sqrt{N}$ in power).
And yes you must apply additional scaling to account for the window shape. See one of my favorite papers which details this for all the common windows; harris on Windows, and I draw attention to specifically the equivalent noise bandwidth and coherent gain metrics for each window.  Regarding coherent gain, the mathematical basis for this is simply the sum of the window compared to the rectangular window. For Hann, this comes to 0.5 as the length of your window approaches infinity, and 0.49902 for a length of 512, so basically 0.5 overall. So to normalize in this case you would scale in magnitude by 2/N, compared to the rectangular window where you would scale by 1/N.  (This window adjustment factor changes with an overlap-add approach based on the overlap, which is further detailed in fred's paper).
More Details:
The FFT is an algorithm that efficiently calculates the DFT with no difference in the result, so reviewing the DFT formula can be very insightful to the scaling as well as the SNR effects:
$$X[k]=\sum_0^{N-1}x[n]e^{-j (k\omega_o) n}$$
Notice what is going on here: In doing this computation, we are summing over N samples of $x[n]$ for each value of k as $e^{-j (k \omega_o)n}$ counts from 0 to N-1. This is a correlation of x[n] to $e^{+j (k \omega_o)n}$, what I view as a &quot;spinning phasor&quot;  ($e^{j\phi n}$ is a vector with magnitude 1 and phase $\phi n$, and n is increasing with time). Note that any &quot;signal&quot; components that are correlated to the spinning phasor (meaning spinning in the equal but opposite direction), will grow in magnitude at rate N. Consider our &quot;DC&quot; bin 0 as this is the simplest example: If x[n] is constant as M (and $e^{-j0} = 1$), the output from the summation will be NM. For any other frequency component in x[n] the same result occurs, as our spinning phasor essentially moves that signal component to DC by spinning in the opposite direction prior to summing.
Thus we see all correlated signals grow in magnitude (not power!) at rate N; since it is a magnitude quantity they grow at rate $20Log_{10}N$.  Noise on the other hand, if uncorrelated from sample to sample, will sum in power, so the noise component grows at rate $10Log_{10}N$. By doing this &quot;correlation&quot; we get a net processing gain (SNR increase) of $10Log_{10}N$, as the &quot;signal&quot; component went up by 20dB per N while the noise component went up by 10dB per N. In fact, we see from this exactly why &quot;correlation&quot; works in general, which is the process of multiplying and accumulating (or multiply and integrate in the analog domain as is done with the Fourier and Laplace transforms)! By correlating, to the extent that the noise from sample to sample is not correlated, we get a $10Log_{10}N$ advantage.
NOTE: Additional updates to this response are required to be complete in order to show two different cases: Averaging the complex FFT values directly (resulting in scalloping through the spectrum from the delay+add) vs averaging the absolute magnitudes as the OP has later indicated he has actually done.