A structure $\mathcal{S}$ is a triple $<\sigma, D, I>$ containing a signature $\sigma$, which determines what functions and relations the structure is able to interpret, a domain $D$, which specifies what objects are in consideration, and an interpretation $I$, which assigns truth values to predicates, functions, and relations.
Yesterday I learnt that the $\vDash$ and $\not\vDash$ symbols are only defined for structures when the signature of the structure (on the LHS), at least contains the symbols of the theory or sentence (on the RHS).
$$ \mathcal{S}\vDash T$$
This got me wondering: It is a true statement to say that a structure $\mathcal{S}$ does not satisfy a theory $T$, if the structure does not contain in its signature at least the syntax used by the theory $T$ (for instance, it may not contain a predicate the theory $T$ uses).
However, with the way $\vDash$ is defined, we cannot write $\mathcal{S}\not\vDash T$ from this observation.
A question then arises: Is there any way to express that a structure does not satisfy a sentence or theory, because its signature doesn't match, in more precise terminology than natural language?
For what it's worth I disagree with your initial claim, although of course this will come down to a convention: I would say that "$\not\models$" is exactly the complement of "$\models$," so that if $\varphi$ is not in the signature of $\mathcal{A}$ we have both $\mathcal{A}\not\models\varphi$ and $\mathcal{A}\not\models\neg\varphi$. In particular, under my convention we have the following equivalence: $\varphi$ uses a symbol not in the signature of $\mathcal{A}$ iff $\mathcal{A}\not\models\varphi\vee\neg\varphi$.
However, that's a bit messy - in general, I think that even though interpreting "$\not\models$" as the literal complement of "$\models$" is the right call, I also think that expositions ought not to crucially exploit pathologies when there's a natural way to avoid this. In this case, I think the right call is something like "$\varphi\not\in Sent(Sig(\mathcal{A}))$," where "$Sig(\cdot)$" sends each structure to its signature and "$Sent(\cdot)$" sends each signature to the set of sentences in that signature. These two component functions are quite useful to have lying around, so using them here is a reasonable thing to do.