There's three primary staffing considerations: ship operations, maintenance, and auxiliary.
I don't think you really need more than about 50 people for a given shift. This is basically the bridge crew and engineering, who are operating and monitoring systems (like propulsion, navigation, environment, shield control, weapons, etc). Then you have auxiliary people who perform as-needed tasks, like cargo bay management, transporter technicians, shuttle bay activities, life sciences (including sick bay) and so on. And then there's maintenance people who replace faulty components or take care of tasks that a computer or robot doesn't handle (like component alignments), which are essential to ship operations within specification.
Outside of this, you then have all kinds of mission specialists and scientists that are assigned to the Enterprise but are not essential staff. They may do things that are performed only during the "day" shift, or specifically assigned to a given shift that is involved in a mission. You also have non-essential ship activity staff, such as teachers, entertainers, waitstaff in 10-forward, and so on. And then there's all the families and temporary visitors that are on board as well. Adding up all of those people, they significantly outnumber the core crew.
So, I'd venture to say that the "core staff" that are essential for the shifts are about 150 people (50 per shift), plus another 200 who do other ship activities that are supplementary (not essential), and maybe another 50 who are "on call" to help out when there's a surge of needs (they're generally junior people who are also in training). Total would be about 400 crew members.