Nao acho que vai conseguir muito melhor que isso usando org.json
Eu costumo usar Gson, que facilita deserializar uma string json num objeto java. No seu exemplo, você poderia criar uma classe que seguisse a mesma hierarquia de propriedades do seu json.
Pode procurar também alguma lib que implemente jsonpath, que deve facilitar esse tipo de extraçao de um simples valor dentro de um json complexo.
Também estava usando GSON, mas não consegui serializar o objeto desse JSON.
Acho que para isso ser possível, eu teria que criar as classes:
Query, Results e Rate. Acho que isso só pioraria a situação, já que ficaria muito acoplado.
Claro que se no seu sistema inteiro, essa é a única vez que vai fazer parse de um json pra pegar um único campo, melhor simplesmente usar seu código original.