I generally use the Primary Server for all the extensions if they are in the same location, if they are at different locations I put them on there local hardware.
I have done one install with a few ip500 gateways and a single server where users move between offices, I put dummy extensions on all the local gateways, and put all the users on the Server, everyone hotdesks, to the phone they are using that day.