I recommend first that you use either "three-and-a-half-year-old" or "3½-year-old," and that you not mix spelled-out numbers and numerical numbers as in "3-and-a-half-year-old" and "three-and-½-year-old."
Another common (but in my view unjustifiable) form of punctuation in unedited manuscripts is, for example, "three-and-a-half-year old," where the author omits the final hyphen as though old were a stand-alone noun in the context of the given age.
The other obvious option is to leave the words open: "three and a half year old." This approach avoids what you consider the hyphen plague of "three-and-a-half-year-old," but it also de-emphasizes the unitary aspect of the phrase, which the heavily punctuated form makes clear.
You might also think of the form "three-and-a-half-year-old" as offering a recognizable-at-a-glance contrast to the similar phrase "three-and-a-half years old," where years is indeed a freestanding noun.
In any event, if five hyphens in a stretch of six words strikes you as too many, you have two practical options that don't do violence to the words' interconnectedness:
Use "3½-year-old" instead of "three-and-a-half-year-old." (You are within your rights to do this unless your publisher/style guide insists that you spell out all numbers below a certain minimum.)
Recast the sentence so that you can describe the person or thing as being "three-and-a-half years old" rather than "three-and-a-half-year-old."