You are quite correct that the use of natural units removes a useful method for detecting errors.
This is an example of a more general concept in information theory. If you use the minimum number of symbols to convey a given piece of information (in this example, an equation in physics or something like that) then you have a slimmed-down and efficient notation. However, by building in some extra symbols, in a suitably controlled or designed way, then you build in some error-detection capability.
Suppose that you have $k$ symbols and the probability of making a mistake in copying each from one line to another is $p$. Then the overall probability of making a mistake, for each such copy operation, is approximately $kp$ for small $p$.
Now suppose you add some further symbols such as $c$ or $\hbar$, so that you have $n$ in total, with $n > k$. Now the probability of making a copying error is $np$, so it has gone up. It looks at first as if this makes matters worse. But now you have the error detection capability. An expression such as $1 + v/c^2$ is clearly wrong, and so is $2 + \hbar$ and things like that. This means that many of the mistakes will be detectable, so the overall probability of an error both occurring and also being undetected
(by a dimensional check) can easily now be less than $kp$, and usually is.
In my experience, when doing calculations which you are already familiar with (e.g. collision problems in relativity if you have already done many of those),
setting $c=1$ is useful to reduce clutter. But when entering into new territory in a calculation (e.g. doing general relativity when you are learning the subject), it is useful to retain $c$ in order to preserve a check and to keep track of what you are doing. Similar statements apply to $\hbar$ in quantum mechanics.
In summary, errors can take many forms, not all of which will lead to a dimensional error, so not all are detectable. But the fact that many are detectable by this method is very useful. When doing familiar calculations by
familiar methods, natural units are nice to keep things clean and uncluttered. When doing calculations in unfamiliar territory, on the other hand, the dimensional check capability often outweighs the cost of having more symbols.
Added note to resolve an issue raised in comments
It may be objected that the use of natural units does not entirely preclude a dimensional check. That is true, but it greatly reduces the number of errors that can be detected. For example, if two speed calculations gave the answers $v = x/t$ and $v=t/x$ then which is correct? If units with $c=1$ have been adopted then we can't tell. But if the calculations with $c$ included give the answers $v = x/(c^2 t)$ and $v=c^2 t/x$ then we can at least tell that the first one is not correct. (This example comes up in the case of a body undergoing hyperbolic motion).