I realize that this is an older past, but in case anyone comes here looking for an answer I figured I'd add my two cents. I'm not a runner per se, but I do work out in a gym and mostly doing cardio on a machine. I sweat a lot whole doing so. I also wear 100% cotton shirts, but they get smelly too after some time. I've tried all sorts of detergents, but what has worked the best for me is boiling my gear. It's sort of inconvenient, but it seems to help. I just use one of those big speckled (enamel) black pots. The same kind that are used for canning. They're pretty cheap and last forever. I can do 3 maybe 4 shirts at a time. I then wash them as normal in the laundry, but I keep them separate from other laundry. I use dark colored shirts because the boiling bleeds a lot of the color out. So I go with dark blues and reds. I've not had much trouble with the blues straining or dying the reds (I've even added a few grays without incident). Anyway this seems to work for me, but again having to boil for about an hour and watch it constantly to prevent boilover is a pain, but it's effective. I hope this helps anyone else looking.
Thanks