In a saucepan, combine the sugar, corn syrup and water. Bring to a boil over medium-high heat, stirring just enough to dissolve the sugar. Heat to between 223 and 234 degrees F (106 to 112 degrees C), or until a small amount of syrup dripped from a spoon forms a soft thread. It should take 1 or 2 minutes.
When the sugar mixture has reached the thread stage, remove it from the heat and set aside. Whip the egg whites in a large bowl with an electric mixer. When the whites can hold a stiff peak, pour in the sugar syrup in a thin stream while continuing to whip at medium speed. Be careful not to pour too quickly, or it will all end up at the bottom of the bowl. When the syrup is incorporated, continue to mix for 10 more minutes to allow it to cool. The egg whites will be fluffy and glossy.
Add pieces of cold butter one at a time to the egg whites and continue to whip at medium or low speed. Then do the same with the shortening. The buttercream will break down and look curdled, but keep mixing and it will come back together in about 10 minutes. When it comes back around, mix in the vanilla. Store at room temperature for up to 2 days, or in the refrigerator for up to 1 week.
To use after it has been refrigerated, allow it to come to room temperature, then beat with a mixer before using. If cold, heat over a double boiler until you have liquid visible just around the edges. Beat with a mixer until smooth and fluffy before using.