So we screwed down all of the flooring before laying new carpet, but there was still an annoying noise in one spot in our bedroom.
A camera was put up through one of our kitchen downlight holes (easy to pop out the new style LED downlights) to have a look under the bedroom floor. We could see the problem! The metal posistruts were attached to some timber, and this had been nailed rather than screwed. Over time, the nails tend to pull out, particularly as the metal expands and contracts at a different rate to timber. This spot was also where two lengths of timber had been joined (and also only nailed). There was a gap allowing movement as you walked over that spot and hence the noise.
The solution: Pull back the carpet, cut a section of floor out, screw the posistruts to the timber, screw the pieces of timber together, replace the cut out flooring, roll the carpet back, and hey presto, no noise!