A stabilizer code is a code with codespace defined as the joint $+1$ eigenspace of some set of stabilizers $\mathcal S = \{s_1, s_2,\ldots,s_j\}$ with eigenvalues $\pm 1$. Error correction involved obtaining the eigenvalue of the data qubits with respect to each stabilizer. Instead of measuring each stabilizer, some set $\mathcal G = \{g_1, \ldots, g_i\}$ of stabilizer generators is chosen to measure so that each stabilizer $s_j$ can be written as $\Pi_{i \in I} g_i$. Then the eigenvalue of each stabilizer can be inferred from the eigenvalues of the stabilizer generators (not that this is necessary in practice usually).
The choice of $\mathcal G$ is clearly not unique. There are various advantages and disadvantages to choosing which set to measure. For instance, choosing low weight stabilizers (often) means that fewer ancilla qubits are required to acheive fault tolerance (which I imagine inspired this question and is similar to this question, and I know inspired this question). Choosing a different set of stabilizers to measure might mean that fewer measurements are necessary to acheive fault tolerance (see this paper) but might also produce high weight stabilizers.
Is there a general strategy (heuristic or not) for choosing which set of stabilizers to measure (either in the bare description of the code itself, or when taking fault tolerance into account)?