I think your floor is fine, for your roof, I cannot say, someone else here is way smarter than me. I would also screw as much down and not nail. Your are trying to prevent vibration, and a speaker on the floor will vibrate it like crazy...
As a Side note, I did a live TV New Years show in front of Ceasars Pallace in Las Vegas. Crazy, crazy show. One of the wild things was that we had the Rockettes dance. None of us thought this through. We were sure the stage would survive jumping up and down, what we did not realize is 100 girls and jumping up and down at the same time would make the stage jump up an down at the same time. Halfway through the routine, on live TV, the choreographer looses it and comes in yelling shut it down, we did, went to commercial and found the stage had move 6 inches...
Moral of the story for you, don't invite the Rockettes ;-)