Cooking and marinating the shrimp: Bring 1 quart salted water to a boil and add 2 tablespoons of the lime juice. Add shrimp, cover and return to a boil. Immediately remove from heat, set pot lid askew and pour off all liquid. Replace lid and set aside, letting shrimp steam in closed pot for 10 minutes. Spread out shrimp in large glass or stainless steel bowl to cool completely. Peel shrimp (and devein, if desired). Toss shrimp with remaining 1/2 cup lime juice, cover and refrigerate for about 1 hour.
The flavorings: In a small strainer, rinse chopped onion under cold water, then shake off excess liquid. Add to shrimp bowl along with chopped cilantro, ketchup, hot sauce, optional olive oil, cucumber and/or jicama and avocado. Mix gently, taste and season with salt, usually about 1/2 teaspoon. Cover and refrigerate up to a few hours, or serve immediately.
Serving the ceviche: Spoon the ceviche into sundae glasses, martini glasses or small bowls. Garnish with sprigs of cilantro and slices of lime. Serve with tostadas, tortilla chips or saltines.