Dependence of correlation peak height on GPS C/A signal's SNR, noise floor level (dBFS), correlation period length and ADC resolution
Even if your amplified signal matched the quantization noise floor of the ADC (representing a 3 dB degradation) you would still achieve a significantly larger and clearer peak from what you are showing.

The search bin size for 1 C/A code duration of 500 Hz is a good choice for the largest step (since the correlation versus frequency offset would follow a Sinc function response with the first null at $1/T$ where here $T$ is 1 ms, so the correlation would go to zero with a 1 KHz offset from true frequency. 

With a 1 C/A code duration you can expect a processing gain of 30 dB ($10Log_{10}(1023)$) and the unspread GPS signal itself can be anywhere from -23 dB to -15 dB below the noise floor typically within the 1 MHz bandwidth of the main lobe of the GPS Signal. (You can measure your post correlation SNR by to see if it is in the ballpark of these levels plus the processing gain).

As for gain, the quantization noise of the ADC can be approximated by being 6 dB/bit + 1.76 dB below the full scale level of a sine wave, and that quantization noise is the total noise power spread evenly across the Nyquist bandwidth. I typically amplify the signal so it is at least 10 dB above this noise level at the input to the ADC, resulting in a 0.4 dB noise figure from the quantization noise. The 0.4 dB quantity comes from the power sum of the two noises (amplified thermal noise as the received signal and quantization noise): $10Log_{10}(1+10^{d/10})$ where d is the delta in dB that the received signal is above the quantization noise.

So if you ADC starts clipping with a sine wave that is at 10 dBm (for example), then for a 7 bit ADC, the quantization noise will be at 6dB x 7 bits + 1.76 = 43.8 dB lower or -33.8 dBm, spread across +/-1.023 MHz in your case with a sampling rate of 2.046 MHz. So within the 1 MHz main lobe of the GPS signal, the quantization noise will be 3 dB lower (since 1 MHz is half of this ADC bandwdith), so that puts the quantization noise in band at -36.8 dBm. 

The received signal assuming a front-end noise figure of 3 dB is -174 dBm/Hz (thermal noise floor) + 60 dB (1 MHz bandwidth) + 3 dB (noise figure) = -111 dBm (these are typical numbers, your mileage may vary).

So if we want to place the recieved signal to be 10 dB above the ADC quantization noise floor in order to minimize further SNR degradation while maintain as high of a dynamic range as possible (the typical trade space and why we don't want to apply too much gain--we get little in SNR improvement but lose our ability to handle stronger signals or interference) we would need to have the received signal that starts at -111 dBm amplified to be -36.8 dBm (quantization noise floor) + 10 dB = -26.8 dBm.

With all those assumptions, your recommended gain is 84 dB. This hopefully shows you how to determine it for your specific case.