Error correction code without error detection Error detection and correction codes require many bits of redundancy for correcting even a modest number of erroneous bits. However, we often have out-of-band methods to determine when and where the errors occured, such as if we observe a voltage spike that exceeds the usual signal levels.

Are there any well-established error correction codes that use less redundancy, but require that the receiver explicitly declares some bits as unknown and corrects only those? In theory, we should be able to correct one erroneous bit for every bit of redundancy.

Are there any such codes which are also able to detect and correct a small number of unknown errors, in addition to the known ones?

Are there any such codes where the receiver augments each bit with some kind of non-binary confidence score, and the code then finds the most likely original sequence?
You might be interested in the binary erasure channel, in which each symbol is erased with probability $p$. The capacity of this channel is $1-p$, and there are practical erasure codes that achieve it.
In the second scenario you describe, some symbols are erased, and some are received with error. This is known as the binary symmetric error channel, and there is some work on it.
Finally, if each symbol is associated with a confidence, then the corresponding notion of decoding is soft decoding.