Ps What do you use?
When I'm mining straight for BTC, I just use MinerControl:
http://cryptomining-blog.com/tag/miner-control/
It may take a while to fully configure, but I think that it is definitely worth it, for the ease of use (basically, set and forget). MinerControl takes care of switching between what is paying the most, and also switches when a pool is dead/offline.
When I'm mining a specific coin, I use a batch file with a single call to ccminer. I don't ever have a crash, so I never cared to make a looping system. This configuration does not include a backup pool though. I babysit my miner when I'm not using MinerControl.
Here's what I'm running right this instant:
@echo off
C:
cd "C:\1. Cudaminer\cudaminer-2014-02-28\x86\"
C:\Windows\System32\cmd.exe /C start "CACHE GPU-0" /HIGH /AFFINITY 0x5 "C:\1. Cudaminer\cudaminer-2014-02-28\x86\cudaminer.exe" -a scrypt-jane:CACH -o stratum+tcp://cach.catcoin.cz:3333 -u
C:\Windows\System32\cmd.exe /C start "CACHE GPU-1" /HIGH /AFFINITY 0xA "C:\1. Cudaminer\cudaminer-2014-02-28\x86\cudaminer.exe" -a scrypt-jane:CACH -o stratum+tcp://cach.catcoin.cz:3333 -u
This batch file runs 2 concurrent cudaminer instances - both get launched at the same time - as it is using a "start" parameter. The point of using 2 instances is to have a separate worker for each GPU, which improves the reported hashrate for this pool/algo. This launch type also let's you easily tweak priority/affinity settings, which is useful in certain instances (and specially if you are also CPU mining).
IIRC, I had to set the shortcut to such batch files with the "run as administrator" option enabled, otherwise priority and/or affinity would not stick.