I find even with things like Napisan etc my Gi ends up with stains around the neck and Sleeves. Are there any ways to keep it pure white?
I usually wash it at hottest possible temperature, and that does the trick (beware though, this might shrink a new dogi). If it is very dirty, I handwash it with plenty of washing detergent (making sure it gets in there), and then let it soak overnight, before I wash it.
Back when I was a kid, my mom used to soak it with chlorine to get the worst grass and blood stains out. This works, but it has some drawbacks. First of all, it will bleach all the colours from badges etc. It may also damage the fabric over time.
If you sweat a lot, I would recommend soaking it in water as soon as possible after class. You may also consider bringing two jackets to class, and change midway through, if it becomes too unbearable.
I find wearing a 100% cotton undershirt helps if you can tolerate it. It acts as an intermediate layer and worse case can be swapped with another.
For stains that manage to get past this using some sort of spray'n'wash product is useful but it needs to applied after a training session or soaked in combination to help remove the stubborn ones.
Oxi-Clean, baking soda and white vinegar in the washing machine works.
Baking soda and vinegar are cheap comparatively to the other cleaning agents. Off the top of my head I dont know why they work so good, but they do. I'd have to google the chemistry reasons as to why they work so good but I can vouch that they do the trick. Don't use clorox or bleach on your gi as for it destroys and weakens the fabric.
Back when I trained more, I was nicknamed "tidal-wave" because of the amount that I sweat. A few tips I used:
1) wear an undershirt. Not fun when it's 8 zillion degrees out in the middle of summer, but it works well.
2) stash a small dishtowel up your sleeve. Between sets/exercises, dab at the sweat with the towel.
3) bring your gi to class and wear street clothes. Pack a clotheshanger. After class change into your street clothes. This limits the time you are sweating in the gi. Yes, even when you are driving to class, you are perspiring a little (the average human perspires about 1-2 pints per day even when inactive).
4) put the gi in the washer (and undershirt and towel) as soon as you get home. Run it through a rinse cycle. I typically put it in the washer, and it was still going at bedtime, so I'd leave it overnight.
5) When the rinse is done, wash it with whatever detergent you prefer, but also add the recommended amount of oxy-clean. As I understand the chemistry, Oxyclean is a peroxide (such as h2o2) that gets between the fabric fibers and then the unstable oxygen atom breaks off and takes the salt/uric acid molecules with it. All I know is that Tide + Oxyclean removes an amazing amount of stains (sweat, grass, blood, food, etc.)
The above method worked for my white, black, and red gis.
I had a off-white/cream coloured gi back in the day and that was great for not showing sweat stains. If you have to have a bright-white gi, there are non-chlorine, colour-fast bleaches you can get today.
I'm not sure what my mother did about the blood stains, but that's a separate conversation. (Yes, I lived at home and was pampered. :-)