I have the same issue and solve it with a combination of styling products and velcro rollers. Most products that promise volume fall short - believe me, I have tried them all - but in the past few years I have been having ALOT of success with Garnier hair stuff, most of all the Surf Spray, which they no longer make....but on some forum recently I read that the Garnier XXL
Volume Thickening Mousse worked great for flat hair - and it does!
The only problem with these producs is they also leave a film on the hair, it is not as smooth. Now I don't care, I'll sacrifice a little softness for fullness any day, but some people don't like that. What I do is wash my hair, condition the ends, then when it is almost airdry, I use the mousse, and then a leave in conditioner, mostly on the ends again. This counteracts the coated feeling. Then I rough dry with the dryer on a medium setting, and when my hair is 99% dry, I set it in large velcro rollers. Leaving them in as long as possible gives the best results.
Hair lacking in body usually looks better short, but occasionally I like to let mine grow out. I always, regardless of the length, wear it in a messy tousled style, so the above works well for me because you can get away with this kind of styling with a less "precise" look.