https://proofwiki.org/wiki/Real_Numbers_are_Uncountable/Set-Theoretical_Approach:_Proof_2
- How do we know it's a great idea to use the characteristic function rather than every other function that exists?
- If the sequence $d_i$ does not terminate in an infinite sequence of 1s, does that mean $d_i$ terminates in an infinite sequence of 0s? I disagree that there are $2$ cases, I think either the sequences terminates in infinite sequence of 0s, 1s, or doesn't terminate infinitely in 1 or 0.

The author of this proof didn't stumble on "a great idea to use the characteristic function". S/he did this in order to make the idea "every real number in $[0,1)$ has a base two "decimal" expansion" precise enough to fit the already proved theorem on the uncountability of the set of subsets of $\mathbb{N}$.
To get an injection, she has to deal with the fact that some numbers have two different expansions. For example, $$ 3/4 = 0.11000\ldots = 0.10111\dots $$ In that case she chooses to map the second sequence to the number $10_2 = 2$. $$
In my opinion this isn't a good proof. It's correct, but (as you correctly discovered) it's hard to see where it came from. I prefer a proof that works directly with the binary expansions, not the subsets of the integers specifying where the $1$'s are.
Edit: Since this proof comes from proofwiki you are free to edit it there, explaining the motivation for using the characteristic function and the trick to make the map injective.