Go to a really high end hairdressers if you can afford to, and ask them what they would do to fix it. By high end, I'm thinking of somewhere like Charlie Miller, or Vidal Sassoon. Ask to have your hair assessed, and cut by the most experienced/head stylist. If you are satisfied with their proposal go ahead and let them fix it. You don't have to settle for the first one you go to either.
If you don't want to go too short tell them that clearly before they start, they will work with the hair you've got, and correct the layering as best they can without hacking it all off. It will probably just be a case of trimming the layers that are there in a slightly different way to correct them. You may be asked if you mind them taking an inch, or so off. You may have to sacrifice a little length in favour of having correctly cut hair.