  Proposals for quantum computing devices are many and varied. They each have
unique noise processes that make none of them fully reliable at this time.
There are several error correction/avoidance techniques which are valuable for
reducing or eliminating errors, but not one, alone, will serve as a panacea.
One must therefore take advantage of the strength of each of these techniques
so that we may extend the coherence times of the quantum systems and create
more reliable computing devices. To this end we give a general strategy for
using dynamical decoupling operations on encoded subspaces. These encodings may
be of any form; of particular importance are decoherence-free subspaces and
quantum error correction codes. We then give means for empirically determining
an appropriate set of dynamical decoupling operations for a given experiment.
Using these techniques, we then propose a comprehensive encoding solution to
many of the problems of quantum computing proposals which use exchange-type
interactions. This uses a decoherence-free subspace and an efficient set of
dynamical decoupling operations. It also addresses the problems of
controllability in solid state quantum dot devices.
