I think you've jumped outside the scope of this report.
I would suggest just going with the simple solution, absent evidence of
some other problem.
> Also, I haven't investigated the cases where there is nothing between path
> separators, as in "foo::bar" (or when the string starts or ends with a
> separator). Today, it looks like it returns either `("foo" "." "bar)' or
> `("foo" nil "bar")' -- although I haven't verified this. A better solution
> would be to simply return `("foo" "bar")' -- path separators without
> anything in between are often simply a user mistake, we don't want to
> pollute system variables like `load-path' because of them.
The feature is intentional, see 17e0445be4a.
I won't claim it's perfect, but IIRC I did test such things at the time.