Here is a solution which does not use scripts and is lightning fast:
Let's say you want to insert one line below rows 451, 452, and 453
| This is row 450 |
| This is row 451 |
| This is row 452 |
| This is row 453 |
| This is row 454 |
Start by adding a new column A and add the formula "=ROW()" to each line under which you want to add an empty line:
| | This is row 450 |
| =ROW() | This is row 451 |
| =ROW() | This is row 452 |
| =ROW() | This is row 453 |
| | This is row 454 |
Now copy cells A451:A453 and paste them back but as (hard-coded) values:
| | This is row 450 |
| 451 | This is row 451 |
| 452 | This is row 452 |
| 453 | This is row 453 |
| | This is row 454 |
Next, insert 3 lines below 453, and copy-paste the values from A451:A453 into those new lines at column A.
| | This is row 450 |
| 451 | This is row 451 |
| 452 | This is row 452 |
| 453 | This is row 453 |
| 451 | |
| 452 | |
| 453 | |
| | This is row 454 |
Now, select the entire lines 451 until the last new line. Go to Data : Sort by range A-Z column A.
This gives you:
| | This is row 450 |
| 451 | This is row 451 |
| 451 | |
| 452 | This is row 452 |
| 452 | |
| 453 | This is row 453 |
| 453 | |
| | This is row 454 |
Finally delete the column A you created for this purpose and you end up with:
| This is row 450 |
| This is row 451 |
| |
| This is row 452 |
| |
| This is row 453 |
| |
| This is row 454 |