Asterisk (on a good size box) should be able to handle 200 users without any problem. Also keep in mind- SIP reinvites will save it from having to do that much.
I suggest a frontend-backend system as follows: (this assumes your agents are using SIP phones)
Have one or more Asterisk boxes connected to your PRI ports. No more than 4 PRI (about 100 channels) per box. Set these up however you want. THey will also contain most of your dialplans and scripts.
Connect these via SIP (NOT IAX) to your main Asterisk box, which has all your users registered to it. On that box put queues and voicemail (if needed). Then register your SIP phones to it. This box does NOT do transcoding.
Nowhere in this setup may you use canreinvite=no.
What will happen is calls will come in on your PRI boxes and will wait in queues on the main box. When agents are connected, SIP will reinvite them, so the audio data goes directly to their phone from the PRI box, without looping through the main box.
If you have analog lines, then just add FXO channel banks, or use TDM2400 cards (up to 3-4 per PRI server) instead of PRI.
As I see it, this will leave you with 3-4 Asterisk boxes and a pretty smooth system. Usual server recommendations apply all around (good quality gear, ECC ram, raid-1 disk, etc).
As far as failure goes, keep a hot spare of the Main box. Whenever you change anything, do it to the spare, then plug the spare in instead. If it breaks, then switch it back.