It all depends on the build whether it would be good or not.

My main character for example (Eilistraee's Sword Dancer) is a carefully crafted character combining 4 classes (1 Cleric, 8 Bard, 2 Paladin, 1 Wizard) and she remains at peak performance, incredibly versatile and powerful enough to solo Honour Mode.

In your case since it's a Duergar crossbow Bard/Ranger, what is the Warlock class meant to provide for your character exactly?

(What I would do instead)
I personally would go; 4 Sword Bard / 5 Hunter Ranger / 3 Thief Rogue. Reason for this is because;

  • Sword Bard gives you the awesome Slashing Flourish (Ranged) which allows you to hit the exact same target twice (so it basically counts as 2 attacks). At level 4 you get a Feat to increase your Dexterity by +2 and you can grab +1 from Ethel which would put you at 20 immediately (if for story purposes you don't want to let her go, leave one companion of the fight and then shoot her butt down once she surrenders the hair).
  • Hunter Ranger gives you either Archery or Two-Weapon Fighting fighting styles, 1d8 bonus damage to your attacks, along with multi-attack at level 5 and the incredibly useful Hunter's Mark which is another 1d6 bonus damage to your attacks. It also gives you a Feat for which I'd go with Sharpshooter (since you're using Crossbows that's +10 damage for each attack)
  • Rogue Thief grants you Sneak Attack + expertise, but more importantly tons of movement utility and a 2nd bonus action, which when paired with your crossbows and Sharpshooter provide +40 flat bonus damage, along with all the other bonuses mentioned above.

[Risky Ring] in ACT II will ensure you're always triggering your Sneak Attacks, rolling twice for double crit chance and ensuring you pretty much almost never miss your targets.

If you'd be using a bow instead then the build would open up a lot more since bows are far more useful than crossbows, thus you could drop Rogue levels and go for Fighter instead. This would allow you to do x8 attacks in a single turn for burst damage.