txtnindex=1 but balances still zero?
RPC getBalance only works with addresses valid in the local wallet. Once txindex is enabled, RPC getrawtransaction will return transaction data for any address on the blockchain. 

Calculating the balance for an arbitrary address is possible because almost every blockchain explorer does it. However, calculating a balance for an address using RPC getrawtransaction is not possible.