If you're using the same image map you could try loading it once and then using transform shaders for each successive scaling.
Adding a single compute normal after the largest displacement may be enough to get the subsequent displacements roughing up the vertical edges enough.