Melt butter in a large pot over medium-high heat. Stir in salt, red onions and sweet onions. Cook 35 minutes, stirring frequently, until onions are caramelized and almost syrupy.
Mix chicken broth, beef broth, red wine and Worcestershire sauce into pot. Bundle the parsley, thyme, and bay leaf with twine and place in pot. Simmer over medium heat for 20 minutes, stirring occasionally. Remove and discard the herbs. Reduce the heat to low, mix in vinegar and season with salt and pepper. Cover and keep over low heat to stay hot while you prepare the bread.
Preheat oven broiler. Arrange bread slices on a baking sheet and broil 3 minutes, turning once, until well toasted on both sides. Remove from heat; do not turn off broiler.
Arrange 4 large oven safe bowls or crocks on a rimmed baking sheet. Fill each bowl 2/3 full with hot soup. Top each bowl with 1 slice toasted bread, 2 slices Gruyere cheese and 1/4 of the Asiago or mozzarella cheese. Sprinkle a little bit of paprika over the top of each one.
Broil 5 minutes, or until bubbly and golden brown. As it softens, the cheese will cascade over the sides of the crock and form a beautifully melted crusty seal. Serve immediately!