We present optimal-stretch scale-free compact routing schemes for networks of low doubling dimension, in both the name-independent and name-dependent models. Our name-independent algorithm is the first scale-free name-independent compact routing scheme to achieve asymptotically optimal stretch, closing the gaps left by the work of Abraham et al. (ICDCS'06) and Konjevod et al. (PODC'06). Our name-dependent algorithm is the first scale-free optimal-stretch name-dependent compact routing scheme that uses optimal ⌈log n⌉-bit routing labels, in spite of the limited routing label information. We define a simple hierarchical decomposition technique based on ball-packings. Our algorithms rely on a novel combination of ball-packings and hierarchical r-nets, which we see as a contribution in its own right.