A classic heuristic argument using the undecidability of the Halting problem is the "Full Employment Theorem for Compiler Writers", which says that a fully optimizing compiler is impossible, and thus that there is always room for improvement.
Assume such a fully optimizing compiler exists. Now look at the class of programs with no inputs. If any such program does not halt, the fully optimizing compiler will generate the minimal (syntactic size optimal) non-halting program when compiling it. This is a recognizable program*, so we can solve the Halting problem for no-input programs with a fully optimizing compiler, by simply compiling the program and checking whether the resulting target program is this minimal one. And, this is as strong as solving the Halting problem in general, as we can easily code any input into a program to make it a no-input program.
---
*For instance, assume that the compiler's target language is Turing machines. The minimal non-halting no-input program is:
A b -> b 0 A
That is, a single state (A) machine, with one transition rule. If it reads a blank on the tape (b) then it writes a b back and stays at the same spot on the tape (0) and goes into the same state (A). And, of course, the program will read a blank, because it has no input. Don't get much smaller than that.