I almost did the same to get eldritch blast as I thought my bard needed an every turn spell to cast. In my experience you are only a few levels away from having enough spell slots to make the problem go away. Also as a bard you will get the option to take a couple spells from any class which shoukd help round you out.
In general, I would say Magic Initiate feats are not worth it on full spellcasters. You get 3 feats in total, and it’s likely you will use 2 of those 3 feats for ASI to get your casting stat to 20. If you take Magic Initiate, you might as well just do a 1-level dip into that class instead and get more benefit out of it without any drawbacks; you still can get 6th-level spells at 11, have 20 in your main casting stat with two ASIs, and full spell slot progression since you retain that if you multi into separate full spellcasting classes.
For your case in particular OP, I would consider doing a 2-level dip if you want to use EB as a damage cantrip on your Bard. The main reason is because a lv2 Warlock can get 2 passives, and 2 of the choices is adding your CHA modifier to EB damage and having EB be able to push back enemies on hit. You absolutely want the damage bonus from CHA, and then it’s generally a toss up between Devil’s Sight (24m darkvision through normal and magical darkness) or Repelling Blast for more utility. I think you’ll still have the best Bardic Inspiration die, but you will miss out on 6th-level spells. You’ll also get the Warlock benefits of having two replenishable spell slots every short rest, which can be used to cast your Bard spells if you need to.
Baldur's Gate 3
All things BG3!
Baldur’s Gate 3 is a story-rich, party-based RPG set in the universe of Dungeons & Dragons, where your choices shape a tale of fellowship and betrayal, survival and sacrifice, and the lure of absolute power. (Website)
Spoilers
If your post contains any possible spoilers, please:
- Use the text [SPOILER] at the beginning of your title, do not include any spoilers in the title.
- Use the appropriate spoiler markup to conceal that content in the body of your post.
Thank you!