Toss the olive oil, broccoli florets, red onion, 1 teaspoon salt and 1 teaspoon pepper in a medium bowl. Transfer to a baking sheet and roast, tossing halfway through, until the broccoli edges are crisp, 18 to 20 minutes. Let cool, then transfer to a bowl.
Meanwhile, cook the bacon in a medium skillet over medium-high heat until crisp, 12 to 14 minutes. Chop and set aside.
For the dressing, combine the sour cream, mayonnaise and milk in a small bowl. Season with the sugar, paprika, 1 tablespoon of the chopped parsley, 2 teaspoons salt and a pinch of pepper and mix together.
Add the bacon and 1 tablespoon parsley to the cooled broccoli, then pour over enough of the dressing to coat and toss until well mixed. Garnish with the remaining chopped parsley.
To make ahead, assemble the salad, cover and refrigerate.