I just got my node up and running on testnet today.
AFAIK, you don't have to route public payments. Its just a setting in lnd.conf (specifically nat=true needs to be deleted/commented out).
Also, I am running LND with bitcoind (not btcd) and so far, everything is working just fine (after a very very long time to sync everything).
I don't intend on routing public tx when I move to mainnet though, I planned on routing through TOR with a private address. So, my use-case might not be the best because if everyone did it this way, it would defeat the purpose of LN.