TikZ has an by now undocumented intersection coordinate system that can implicitly used as
(intersection of <c11>--<c12> and <c21>--<c22>)
which finds the intersections of a line from (<c11>) to (<c12>) and a line from (<c21>) to (<c22>) even if this intersection doesn't lie on the line segments between these points.
So, in your case, you just need to do
(intersection of A--B and C--D)
and it will return the required point. (It will throw an error if these lines are parallel or almost parallel because the intersection is too far away.)
The intersection coordinate system just takes the four given points and solves a linear system of equations for two lines (and not lines segment).
From quick view of the defintion of \tkzInterLL the tkz-euclide only does math, too.
To be fair, the intersections library only does math, too, but of course works for arbitrary paths but only returns points that actually lie on the paths.
I'll add another solution using the intersections library where the paths are constructed by extending the lines about 37cm (maximum distance that fits on an A4 paper) in both directions and then simply finds the intersection as always.
The option overlay means that the path doesn't contribute to the bounding box. path only makes sure that no inherited option will make the path visible.
Code (intersection cs)
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}[nodes={circle, minimum size=+4pt, inner sep=+0pt, draw}]
\pgfmathsetseed{309382}
\path (rand-5, 3*rand) node (A) [label=A] {}
(rand-3, 3*rand) node (B) [label=B] {}
(rand+2, 3*rand) node (C) [label=C] {}
(rand+4, 3*rand) node (D) [label=D] {};
\draw (A)--(B) (C)--(D);
\path[red] node (E) at (intersection of A--B and C--D) [label=E] {};
\end{tikzpicture}
\end{document}
Code (intersections library)
\documentclass[tikz]{standalone}
\usetikzlibrary{intersections,calc}
\tikzset{
intersection of/.code args={#1--#2 and #3--#4}{
\path[overlay,path only,name path=@a]($(#1)!-37cm!(#2)$)--($(#2)!-37cm!(#1)$);
\path[overlay,path only,name path=@b]($(#3)!-37cm!(#4)$)--($(#4)!-37cm!(#3)$);
\tikzset{name intersections={of=@a and @b}}}}
\begin{document}
\begin{tikzpicture}[nodes={circle, minimum size=+4pt, inner sep=+0pt, draw}]
\pgfmathsetseed{309382}
\path (rand-5, 3*rand) node (A) [label=A] {}
(rand-3, 3*rand) node (B) [label=B] {}
(rand+2, 3*rand) node (C) [label=C] {}
(rand+4, 3*rand) node (D) [label=D] {};
\draw (A)--(B) (C)--(D);
\tikzset{intersection of=A--B and C--D}
\path[red] node (E) at (intersection-1) [label=E] {};
\end{tikzpicture}
\end{document}
Output

overlayoption to your "enormous"\path... – Paul Gaborit May 13 '16 at 08:09pgfinterruptboundingboxenvironment. This way the bounding box is not adjusted to fit the invisible path. The same can be achieved by theoverlayoption as noted by Paul Gaborit. – Henri Menke May 13 '16 at 08:09tkzeuclideto find the intersection... So you would not have to rewrite your whole diagram. – Thruston May 13 '16 at 08:23pst-optexppackage – Christoph Jun 01 '16 at 19:12