Perhaps setting up your head end routers and maybe even some of the 1601s to send syslog messages to a syslog server would help. Make sure all routers have synced clocks (SNTP on 1601s is how I do it, NTP on all the other routers). This could help you see the sequence of events that lead up to the problem.
Another possibility is to set up logging to a buffer on the routers. Of course, they are wiped out when your router is reset, so you'll need to change your instructions to the branch people. I guess this may not be helpful for this problem if resetting the router actually helps clear the problem. If something else clears it, it is probably better that the branches don't head for the power switch every time there's any type of glitch.
You need information, my friend! Syslog and logging buffers are where to go! Within each though, you can log all sorts of stuff, so you may need some more failures logged different ways before you get to the suspect area causing the problem.