Actually the pitch of the blades are varied throughout the rotation by a mount called the swashplate, so the blades can for example develop more lift on the left side of the helicopter than the right. The controls of the heli shift this asymmetry to develop thrust laterally. The pitch can also be varied collectively for all angles, this controls the average lift. The actual blade speed is more or less constant no matter what you do.
You can certainly make a physical airdrag -> force on the blades model but I don't think that would work well with Bullet. For starters, you would have to spin the blades unrealistically slow or use a super high simulation frequency in the physics. You could probably also experience instability from the continuous hammering of the helicopter with impulses in opposing directions and the associated numerical unstability, but why not try
The easy way out is of course to just apply a force on the shaft with a total force vector that corresponds to the time-averaged result of the swinging blades at the particular cyclic and collective inputs.
Unless you're actually modelling breakable blades (in which case you're going down anyway fast) or do it for aerodynamic research, there won't be a difference and it would be more easy.
So conceptually you have a solid disk mounted on a solid shaft rigidly connected to the chassis. The disk gets a common upwards force (collective) and an additional lift at the rim at a particular angle. Don't forget the tail rotor, it is n't needed for stability in that model, but it is needed if you want to simulate the foot controls in the helicopter (left/right turn).
Oh, and after modelling this you'll realize it's pretty difficult to fly a helicopter