Using a sharp knife, cut the skin and all of the bitter white pith off of the grapefruits. Working over a bowl, cut in between the membranes to release the sections. Squeeze the juice from the membranes into the bowl.
Transfer 2 tablespoons of the juice to another bowl. Add the zest, shallot, and vinegar; let the dressing stand for 10 minutes.
Season the avocado with salt and arrange on plates with the grapefruit sections above a bed of lettuce. Stir the oil into the dressing; season with salt and pepper. Drizzle onto the grapefruit and avocado