This seems to be a pretty common problem and as far as I know there is no way to solve it. Random dragons seem to only appear immediately after fast traveling or after exiting a cave/dungeon. To solve your lack of souls problem I suggest revisiting each dragon lair because they are set to spawn there indefinitely. After clearing out each one, wait for about an in-game week and they should have all respawned again. Also, if you've been to Blackreach and haven't already done so, you can return there and cause a dragon to appear by using Fus Ro Dah on the big, glowing, yellow thing on the ceiling.