Hide separator before "Remove …" items if no visible items before it
See chrome://browser/content/downloads/downloads.css
.download-state:not(:-moz-any([state="-1"],/* Starting (initial) */
                              [state="0"], /* Downloading        */
                              [state="1"], /* Finished           */
                              [state="4"], /* Paused             */
                              [state="5"]) /* Starting (queued)  */)
                                           .downloadShowMenuItem,
...
{
  display: none;
}

So, will be hidden for example for [state="2"] (failed) and [state="3"] (canceled)
(#15)