In a large, resealable plastic bag, place the onions, 2 cups of the beer, the vinegar, ½ teaspoon of the salt and ½ teaspoon of the pepper. Seal the bag and refrigerate for at least 30 minutes, or up to 2 hours (do not leave them for more than 2 hours, as the onions will get soggy).
Add the oil to a large Dutch oven or heavy-bottomed pot (it should come to a depth of about 2 inches). Heat the oil over medium-high heat to 350 degrees F. Line a baking sheet with a double layer of paper towels and set aside.
While the oil is heating, prepare the batter. In a large bowl, whisk together the flour, cornstarch, baking powder, remaining ½ teaspoon salt and ¼ teaspoon pepper. Slowly whisk in ¾ cup of the remaining beer until just combined (the batter will be lumpy). Whisk in remaining beer, if needed, 1 tablespoon at a time. The batter should fall from the whisk in a steady stream and leave a slight trail across the batter.
Remove the onions from the beer marinade, separate into rings and pat dry with paper towels. (Be sure that the onions are completely dry, or the batter will run off of them and not stick.) Transfer one-third of the onion rings to the bowl with the batter, turning to coat each one.
Once the oil reaches 350 degrees F, begin frying the onion rings, dropping them one at a time into the hot oil with a pair of tongs. Be sure not to overcrowd the pot, or they will stick together. Fry the onion rings for about 5 minutes, or until golden brown, flipping them over halfway through cooking. Using tongs, a slotted spatula or spoon, or a spider skimmer, remove the fried onion rings to the paper towel-lined baking sheet. Allow the oil to return to 350 degrees F and continue frying in batches. Season the onion rings with salt and pepper and serve immediately with ketchup or your favorite dipping sauce (see below).