Having in mind your data structure, I think you can only reach what you want using VBA. I created something similar to your data structure and wrote a script which runs every time rows are added.
- Save your file as Excel Macro-Enabled Workbook (.xlsm)*

- Open VBA Editor by Ctrl+F11
- In the VBA Editor, double click on your sheet in the left-side pane.
- Paste this code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim iTargRowsCnt As Long
Dim oFCond As FormatCondition
Dim sFCondRanges() As String
Dim i As Long
Dim blnFCondRangeModified As Boolean
Dim sNewAppliesTo As String
If Target.Address = Target.EntireRow.Address Then
iTargRowsCnt = Target.Rows.Count
For Each oFCond In Me.UsedRange.FormatConditions
sFCondRanges() = Split(oFCond.AppliesTo.Address, ",")
For i = LBound(sFCondRanges) To UBound(sFCondRanges)
If Not Intersect(Me.Range(sFCondRanges(i))(1), Target(1).EntireRow.Offset(iTargRowsCnt)) Is Nothing Then
sFCondRanges(i) = Range(Range(sFCondRanges(i)), Range(sFCondRanges(i)).Offset(-iTargRowsCnt)).Address
blnFCondRangeModified = True
End If
Next 'i
If blnFCondRangeModified Then
For i = LBound(sFCondRanges) To UBound(sFCondRanges)
sNewAppliesTo = sNewAppliesTo & sFCondRanges(i) & ","
Next
sNewAppliesTo = Left(sNewAppliesTo, Len(sNewAppliesTo) - 1)
oFCond.ModifyAppliesToRange Range(sNewAppliesTo)
blnFCondRangeModified = False
sNewAppliesTo = ""
End If
Next 'oFCond
End If
End Sub
This code will run automatically every time you insert rows. But be cautious while using VBA. Save more often, something unexpected may occur, although I tried to mitigate risks. E.g., it is difficult to design a code to work well with Undo functionality. In this case, Conditional formats would get distorted if you inserted rows and then used Undo.
A:A
)? If so, this doesn't work because I have more than one conditional formatting rule and can't apply a single rule to the entire column