Yes there is a better way.
For each user, specify in the contact.cfg what hours apply to that person. Then create 2 groups, i.e. shift1 and shift2. For each service check that applies in services.cfg, specify shift1 AND shift2 for the contact groups. Notifications will be sent TO BOTH groups all the time. But of course, if a person in that contact group has stated "9-5PM only", then of course, he won't get notified.