The shoot on sight problem is a tricky one, I don't think it can ever be completely removed and honestly don't think it should be as I think it would happen some IRL. However what about a system where each time you loot a dead body you have a high chance of catching a disease, say somewhere around 60%. Since we know antibiotics will be very rare then maybe this could help prevent killing instead of trading. You could even go so far as heroes have a much smaller chance of catching something and bandits have a much higher chance. This would allow you to grab your friends gear if your a hero and he dies and make doing the same if your a bandit a risky situation.