What is the actual scope of the Halting Problem impossibility result?
Let us say that $H$ is a partial Halting oracle if it takes as input a pair $(M,x)$ where $M$ is the description of a Turing machine and an input $x$, and:

If $H$ terminates and outputs &quot;yes&quot; then $M(x)$ halts.
If $H$ terminates and outputs &quot;no&quot; then $M(x)$ does not halt.

In particular, $H$ is allowed to run forever and not give an answer.
Given two partial Halting oracles $H_1$ and $H_2$ we may combine their powers by running them in parallel, and if either one ever halts and gives an answer, we output that answer. Let us write $H_1 \oplus H_2$ for such a combined partial Halting oracle.
Consider the partial Halting oracle $L$ which works as follows on input $(M,x)$: it simulates the working of $M$ on input $x$, and if the simulation ever terminates, it terminates with output &quot;yes&quot;. Then $L$ correctly predicts all cases that halt, and no others.
Given any partial Halting oracle $H$, we can always combine it with $L$ to get a partial Halting oracle $H \oplus L$ that correctly predicts all the halting cases. The only question then is, how good a predictor of non-halting can be implemented.
Define the non-halting set
$$\overline{K} = \{(M,x) \mid \text{$M(x)$ does not halt}\}$$
and for any partial Hlating oracle the set
$$S_H = \{(M,x) \mid H(M,x) = \text{"no"}\}.$$
We then have $S_H \subset \overline{K}$, $S_H$ is computably enumerable, and $\overline{K}$ is productive. Computability theory teaches us that $\overline{K} \setminus S_H$ is infinite, i.e., every partial Halting oracle fails infinitely often.
You may try to measure the ratio of $S_H$ to $\overline{K}$ in some fashion, such as the measure you suggest in the question. However, the problem with all such measures is that they heavily rely on how machines are coded. By passing to a different coding we can maipulate the measure to be whatever number we like, so that is not very helpful. For instance, to get a 99% success rate, use the following coding: a number of the form $100 n$ encodes the machine encoded by $n$ in some standard encoding, while a number of the form $100 n + r$ with $0 &lt; r &lt; 100$ encodes a machine that obviously never halts (always the same machine).