My keybinds look like this

with potions bound to R (health) and F (energy).
Pot on R is an old habit from Titan Quest.
As someone who plays all kinds of builds, and usually gets bored with 1-button builds unless I’m playing with a controller, I would say that it helps to get in the habit of binding similar skills to the same hotkey.
Permanent buffs always go in the secondary tab-switch bar.
LMB gets either a melee skill or simply “Move To”. Applicable Necromancers get Bone Harvest because there’s usually no issue with using it accidentally.
RMB gets a debuff on melee builds, or whatever spammable primary attack on ranged builds. Otherwise whatever requires delicate placement, such as Ravenous Earth.
1 is a placeholder where everything else usually goes. Usually my favorite spot to put curses. Otherwise that’s where I put my single target nukes. Usually gets Devastation for my Arcanists.
2 always gets a mobility skill (Blitz, Shadow Strike), or a debuff. “Pet Attack” for summoners.
3 usually gets a character-centered aoe (War Cry, Callidor’s, Ring of Steel). Whatever I bind to 3 also usually gets Time Dilation bound to it.
4 is another wildcard. In TQ, my Storm characters always had Spellbreaker there, so the habit carried right over to GD with Arcanist’s Nullification.
Q(5) is my panic button, also hailing back to Titan Quest where I would bind Stone Form here. Mirror and Blade Barrier go here.
W(6) gets temporary buffs like Overguard and Blood of Dreeg, or functions as my secondary aoe bind (Siphon Souls for Death Knights)
E(7) usually gets Mark of Torment for Necromancers. My first Necromancer had it here, and muscle memory demands I keep it there. Kind of an important skill not to mess up in hardcore. Otherwise I just throw another temp buff on here if I have more than one.
G(8) always gets Inquisitor Seal, same deal as above. Few other builds even need that many binds, and it’s nice to keep other keys free for Inquisitors.
V(9) is usually reserved to item skills that aren’t buffs, like Gaze of Beronath. Otherwise I just keep energy potions in the bar to monitor the cooldown. “Pet Attack” for non-summoners with player-scaled pets (like Blade Spirit).
B(0) always has a health potion in it. Giving it its own accessible bind was more of an afterthought when playing my pet Cabalist because my entire second bar was full of buffs and I had to put my pet summons somewhere
Example of what it looks like on a true piano build:
Looks relatively harmless until you factor in 43% cdr, Time Loop and Time Dilation. 3, LMB and RMB are my spam skills here.
Witching Hour/Unstable Anomaly build:
My old Chillflame double rune build looked like this:
With Elemental Storm bound to Shadow Strike, I can quite safely repeatedly spam 123 on an enemy while holding down LMB to keep casting Blade Traps.
I usually don’t have any trouble finding a hotkey for every skill I need to use while still managing to train them to muscle memory without having to look which key to press, no matter the build. It’s obviously a matter of “whatever works best for you”, but I would definitely recommend clustering your binds close together, and applying them in a manner that allows you to easily spam whatever you need to spam. I’d suggest figuring out bind patterns like demonstrated above, and committing them to muscle memory. Don’t bind your skills to 1 2 3 in order just because they’re free. For example, I’d still put Inquisitor Seal on G, even with every other key being free.