What I'd do with Onix would be... just making it much smaller. The stats don't fit the large frame, and tiny Rock-types with large defensive stats do exist (Nosepass), while also helping its strangely alright Speed stat. Perhaps reducing it to, say, Arbok or Seviper's size. Big, but not "how could this thing be so weak with its size" big.
In regards to "hardly any Dragon/Fire Pokemon", we could go a little further and talk about Dragon-type Pokemon that are associated with breathing fire. There are barely any. Outside of Dragonite, Salamence and Mega Charizard X, there are no stereotypical european fire-breathing Dragons, and only one of them is a Fire-type as well. There's Reshiram, fine, but wyverns are not as often depicted of breathing fire like other mythological european dragons, though I guess it could count.
And of course, then there's Turtonator which is a Mata mata turtle and it makes even less sense but whatever.