
E tomo a liberdade de deixar algumas dicas...
1- Precisão da resposta
Não adianta usar um circuito de alta precisão (resolução) se você não tomar os cuidados para utilizar toda a precisão que o circuito lhe oferece.
Pois acontece que os sensores e os circuitos têm tensões nominais de trabalho, por exemplo, o sensor hall comumente usado (Allegro A1321) tem uma tensão de saída de 0.2V a 4.7V e uma sensibilidade de 0.005V por Gauss (unidade de medida do campo magnético).
E os circuitos alimentados pela usb normalmente têm uma entrada analógica de 0V a 5V, até aí tudo bem, porém os sensores hall somente vão dar a saída mínima e máxima se a intensidade do campo magnético a que são submetidos atingir os valores mínimo (negativo) e máximo (positivo) do campo magnético que são feitos para medir.
Em resumo, se você utilizar um imã de má qualidade (com 'baixo magnetismo') ou dependendo da posição que você montar o imã, pode perder grande parte da precisão (resolução) do seu circuito.
E como o Windows aceita quase que qualquer resolução (mesmos que seja 1 bit), isto não será fácil de ser notado, mas o resultado do trabalho pode estar muito abaixo do que é possível atingir.
Para saber a real precisão da sua montagem, na tela onde se faz a calibração do joystick, marque para mostrar os valores e veja qual o valor mínimo e máximo que consegue atingir e subtraia o mínimo do máximo. Veja também se o valor se altera de 1 em 1, pois em alguns circuitos o valor se altera de 2 em 2, dividindo a precisão por 2.
Para comparação, descubra qual a resolução do seu circuito e veja se o seu resultado está próximo disto.
Outra forma é medindo a tensão na saída do sensor hall, lembrando que o perfeito seria ter uma saída de 0.2V com o eixo do joystick num extremo e 4.7V no outro extremo, quanto menor for a diferença de tensão entre os extremos, maior é a perda que você está tendo.
Para melhorar consiga imãs mais fortes, como os de terras raras.
Colar um pedaço de metal (ferroso) atrás do sensor também aumentará o campo (o sensor deve ficar entre o imã e o pedaço de metal).
2- Linearidade
O sensor hall que utilizamos é vetorial (não-omnidirecional), por isso quando simplesmente giramos o imã ele altera a saída. Ou seja, a sua saída é diretamente proporcional à intensidade do campo magnético num determinado vetor (entenda como sentido).
Sendo assim, quando giramos o imã o resultado não é linear ao ângulo que giramos o imã, e sim senoidal.
Por exemplo, vamos chamar de G1 o máximo campo que o imã pode causar no sensor, de G2 o campo que o sensor está medindo e de 'a' o ângulo que o imã está em relação ao sensor, então G2 será igual a G1 vezes o seno de 'a'.
A posição 0° é quando o sensor dá um sinal de saída igual a quando não temos campo (2.5V), pois afinal seno de 0° é igual a zero, ou seja, não há campo magnético no sentido em que o sensor mede.
No gráfico abaixo o verde mostra o resultado em função do ângulo do imã
Perceba que o giro do imã tem velocidade constante, mas a linha verde é mais rápida próximo do centro (0°) e mais lenta nas extremidades (-90° ou 270° e +90°), chegando a parar por um instante.


Em resumo, para a sua montagem ter uma resposta 'quase' linear, os ângulos mínimo e máximo deverão estar entre -45° e +45°, ou seja, um giro máximo de 90°. Se fugir disto, sua resposta será mais agressiva no centro e consideravelmente mais suave nas extremidades.
Sabendo que quanto mais próximo do ângulo 0° mais linear é o resultado, deve-se então ajustar o imã para que no centro do movimento do eixo o imã esteja neste angulo. Para ajustar isso, lembre-se que na ângulo 0° a saída do sensor é igual a 2.5V, e assim terá o resultado mais linear possível.
3- É importantíssimo que o campo magnético não varie de intensidade sobre o sensor e somente de ângulo.
Ou seja, além do ângulo, a posição do imã em relação ao sensor é muito importante. Portanto, o centro do imã, o centro do giro e o centro do sensor devem ser perfeitamente alinhados.
Pois numa variação de distância dos centros, a variação do sinal é exponencial.
E evite imãs quebrados e que não sejam simétricos, pois achar o centro do campo seria quase impossível.
Queda exponencial

Espero que as informações sejam úteis.
E fico a disposição para esclarecer ou discutir o que tiver ao meu alcance.
Abraços!