How do you know ahead of time how long a build process takes, or what it
even involves, in order to be able to determine where 50% is?

While technically true, there's ways to approximate.

Really? How do you do so for something as "simple" as building the
Linux kernel?

Since, technically, most files takes roughly the same amount of time
to compile. And, technically, abnormally costly files tend to be
randomly spread. So if you count percentage by number of tasks to run
(number of files to build), it usually works out fine.