Mince garlic and mash into a paste with 1/2 teaspoon salt using the side of a large heavy knife. Whisk together lime juice, oil, and garlic paste in a large bowl, then add the onion and toss to coat.
Halve the chayotes lengthwise, then peel them with a vegetable peeler and scoop out the pits with a spoon. Cut the chayotes crosswise into 1/3-inch-thick slices, then halve the slices lengthwise to make 1/3-inch-thick sticks (sticks will not be uniform).
Cook the chayotes in a 4 to 6-quart pot of boiling salted water, over medium heat, until crisp-tender, about 6 minutes. Drain well in a colander, then, while still hot, toss them into the bowl with the dressing. Cool to room temperature.
Cut the hearts of palm diagonally into 1/4-inch-thick slices, then add them to the chayote mixture along with celery, parsley, cilantro, and remaining 1/4 teaspoon salt. Gently toss and serve.