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