Um mal bei `tikz-qtree` zu bleiben: Du musst einfach `sibling distance` und `level distance` anpassend einstellen:
![alt text][1]
\documentclass[a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz-qtree}
%\usepackage{tikz-qtree-compat}
\begin{document}
\begin{tikzpicture}[
every tree node/.style={align=center,anchor=north,text width=2cm},
%sibling distance=1cm,
%level distance =100pt,
level 1/.style={level distance=50pt},
level 2/.style={level distance=120pt, align=right}
distance=120pt}
]
\def\Text{%
{Dies ist ein relativ langer Beispieltext der zeigen soll dass sich diese Node bei zu viel Text mit den darunterliegenden Ebenen überlagert}
}%
\Tree [.{A}
[.\node[align=left, text width=4cm, blue]{\Text};
[.{A11}
[
[.{XXX} ] ] ]
[.B12
[
[.{XXX} ] ] ] ]
[.{B1}
[.{B11}
[
[.{XXX} ] ] ]
[.C12
[
[.{XXX} ] ] ] ] ]
\end{tikzpicture}
\end{document}
[1]: http://texwelt.de/wissen/upfiles/55555555_61.png