\abovetopsep is a length macro. Use \setlength to modify it, place that in your preamble. For example:
This space would be added above the line made with \toprule. If you specify the length in your preamble, no change within a table environment is required. Jut put the caption above, the space by \abovetopsep will follow automatically, then comes the toprule. A \midrule, also if placed at the top, would ignore this space.
Your example works just fine. You should zoom in to see the correct rendering of the lines. Sometimes, the viewer is not able to handle every size. Especially as you are using some scaling. I would not recommend to scale your table but to reformat it in order to fit the page. Please see my suggestion below: