One issue causing the jagged spectra at high wavenumbers is under sampling there. For example consider the picture2D analogue of your binning procedure:
You don't want to sample from the red zones as they will become increasingly under-sampled as you move past a radius of size $|k_{x}|$$|k_{x}|=|k_{y}|$.