I noticed after some play testing that the tweak vector applied to the rigidbody2D.velocity will occasionally slow the ball down instead of speed it up. This is because it does not take into account the direction the ball is moving during the collision. It always assumes positive x and y direction.
To makes the ball never decelerate you can add a positive/negative modifier to the random tweak vector’s range:
void OnCollisionEnter2D(Collision2D collision){
var xDirection = this.rigidbody2D.velocity.x > 0 ? 1 : -1;
var yDirection = this.rigidbody2D.velocity.y > 0 ? 1 : -1;
var tweak = new Vector2 (Random.Range (0f, 0.2f) * xDirection, Random.Range (0f, 0.2f) * yDirection);
this.rigidbody2D.velocity += tweak;
}