The more porous the hair the more color will fade. Heat styling and chemical treatments open the hairs cuticle (outer layer of a hair strand), which allows for the color to deposite in the cortex (or mid layer), the more often you use heat or chemical treatments on yr hair the less the cuticle closes after time, leaving the cuticle partially open, which translates to flat, washed out looking color.Think of it as cranking yr air conditioner on a hot day, then opening all the doors and windows and expecting it to stay cool, doesn't work. Try to find a shampoo that has a pH balance close to the skins natural balance, between 4.5 and 6, try to stay within those numbers. You can google info on yr favorite products to find out the pH. you can also skip shampooing every other time and just rinse yr hair, use a small amount of conditioner, and rinse that out also. The less you wash yr hair the less fading, b/c shampoo can open the cuticle while conditioner will smooth it down. If yr hair tends to get greasy and you need to shampoo you can use a dry shampoo, spray or sprinkle on, then brush out, grease gone, no fading. I personally dye my hair a lot, I'm a stylist and I love hair color, to keep my hair from frying I almost never use permanent color unless I'm out of less damaging options. Demi and semi permanent color work wonderfully, and they'll actually leave yr hair looking glossy and will cause far less damage. Another cosmo school tip - after washing yr hair you can use anything acidic, vinegar, lemon juice etc, spray or pour onto hair, let sit a minute or two and rinse thoroughly (u dont wanna smell like vinegar!) and this will actually cause the cuticle to close, not permanently, but it will leave yr hair shiney and smooth. I hope that helps, with out more knowledge of yr hair type and condition etc its hard to say which would be yr best route.
2 more things, red always fades fastest b/c of the size of the color molecules and as far as products, so far I've found Aveda's line for color treated hair to be the most effective,as they don't use harsh chemicals and use natural botanicals whenever possible. They also have an amazing treatment mask for dry, damaged hair called Aveda Dry Remedy, it's saved my hair so many times (i'm talking over bleached, feeling like straw to actually feeling like human hair, its crazy). The hair mask is expensive but it's worth it and a little goes a long way. To get the most out of it you should wash yr hair, rind out excess water, apply deep conditioning mask, then cover w/ shower cap (if u dont have one handy u can use a plastic bag from the supermarket and twist and tie so its snugglie covering just yr hair. The heat that is naturally released thru the top of yr head will be held in by the bag or cap, opening the cuticle and allowing the mask to work its magic. Once a month I like to leave this mask on all night while i'm sleeping and my hair is soft and smooth come morning.