Since the dawn of time (if the dawn of time was in 2011), assigning licenses in Office 365 has been a pain. It has never been complicated, but it has also never been a pleasant experience.
You've always had two options to either manually assign licenses to users from the Office 365 Admin portal or use PowerShell to bulk assign the license to large numbers of users. In the first couple of years of Office 365 when most of the customers were small, I primarily just manually assigned licenses in the portal. As larger customers started moving into Office 365, I relied more heavily on PowerShell scripts to assign licenses to Office 365 users en masse.