I wrote an article a couple of years ago that discussed the importance of single instances hosting Active Directory – Domain Controllers. I tried to explain that one needs to know which Domain Controllers host what functionality – and at best, that there are no single DCs in the environment that are special and require special treatment. This reduces complexity in operations, troubleshooting and daily life(tm). The article is at http://www.frickelsoft.net/blog/?p=213.
I believe that your ultimate goal should be that no dependencies to Domain Controllers exist other than core Active Directory functionality. Reaching that goal, a vital step is reducing your Domain Controllers to just service Active Directory Domain Services. If that’s the case, a single DC can be replaced or taken down for maintenance rather easily.