.opml file with feeds is in Xml format, so you may put each leaf (outline element without sub-elements) in an artificial wrapper element, which will get a visible folder in Thunderbird. Thus your initial .opml file:
<opml version="1.0">
<body>
<outline text="Birds">
<outline title="ParrotBlog" xmlUrl="http://parrot.com/feed"/>
</outline>
</body>
</opml>
should be converted to this:
<opml version="1.0">
<body>
<outline text="Birds">
<outline text="ParrotBlog">
<outline title="ParrotBlog" xmlUrl="http://parrot.com/feed"/>
</outline>
</outline>
</body>
</opml>
You may use an on-line Xslt converter (here, here) to perform (xml+xslt)->xml. Use the Xsl transformation:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="outline[not(child::*)]">
<xsl:element name="outline">
<xsl:attribute name="text"><xsl:value-of select="@title"/></xsl:attribute>
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:element>
</xsl:template>
<xsl:template match="/ | @* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
This workaround may work for you, till you find a decent Feeds Aggregator.