Even without a virus we cant always predict what software does due to some unknown flaw - a few have just decided to fly off by themselves into a mountain ive seen reported.
Problem is the budget could never be large enough to allow the amount of testing required to make them reliable enough - the bugs just have to get ironed out over the years like with any software.
Re the BSG analogy - you would have to be pretty stupid to allow the internal FLCS to be compromised through a data link interface or allow any remote control - it should be completely isolated in a manned jet so the only way a virus could get on there is if the pilot gets tricked into loading it on a DTC - and even then it really shouldn't be compromised.
Anyway the real problem with drones IMO is actually getting a strong enough signal to the drone!