the only way i can stop the puffiness is to dry my hair straight from soaking wet.
i use BioSilk Silk Strate and a BIG round ceramic brush with my ceramic ion dryer. it takes some practice - take small sections, start at the back at the bottom, and make sure each section is completely dry before you move on to the next one (this is the most important point). when the section is dry, flip the dryer setting to cool to lock in the straightness.
and use a good flexible hold hair spray.
doing it this way, i can make my hair stay straight until i wash it again.