Test automation, for the most part, means unattended. This is achieved by scripting the tests to permit error collection and automated test restart upon unexpected errors as well as termination and continuance to the next test if a hard failure occurs. The latter may need to have re-image capabilities such as can be done with an image server. We run 24/7 testing on 5 or 6 machines over 3 days and it works 98% of the time.
In addition to Rich's comments, information collection is very important. It does little to no good to know that something went wrong but yet not know exactly what went wrong nor the events that caused it to happen.
When we first did unattended (overnight) automated web testing (using QARun), our initial problems were not handling IE crashes properly, running out of system memory, and spending countless hours in the morning trying to figure out what errors we found (and how to recreate them).
After getting the scripts stable, we ultimately improved the information gathering by saving the HTML source of each page, captured screenshots of errors, and logging each and every action that our scripts took and putting them into a database to optimize the 'information gathering' the next morning.
It's not something that's going to happen overnight; it's something you continuously improve upon. Work on getting it stable first (making sure it runs through the night). The more stable it gets, the better you'll be able to see where your other gaps are to improve upon (information gathering, etc.)