Hi @D_Lav ,
Great and fun post. There are several aspects to consider here.
Since you did not mentioned it specifically, I would start with asking if your are familiar with the Premium Capacity Metrics App?
The app will be a great way to analyze your environment, but, at least in my opinion, it is also important to talk to workspace/dataset owners, if you really want to dig into this task. I will say that I don't have a ton of experience, but some, on this matter, and depending on which side you are on, it is sometime easy to forget the other parties opinions and remarks. What I aim at here is the juntion where the technical people meet the business people.
But, as a start I would install the Premium Capacity Metrics App, to analyze the environment. Once you have the app in place, it can be helpful to cellect all the data and create your own datamodel. By doing this you can take a more analytical approach when suggesting changes, either based on CPU usage at different hours, or number of evictions, peak hours for refresh, dataset sizes, and so on.
Although this is not an exact science, you will at elast end up with the biggest contributors to resource use and refresh wait/duration, so you can start working your way down the list. Part of this process would be to identify the different reports, and rank them in terms of criticallity.
After you have done your analysis and categorized your reports based on how business critical they are, I would say the fun starts. You might ending talking to the different workspace/dataset owners, all claiming that their reports are the most critical. If you run into scheduling issues at this point, and don't mind spending more money, you can always scale up to a P2, and then split it into two P1 capacities. But, based on the amount of users and workspaces you mention I guess this will be a bit overkill, although what really count is the number of reports, and how they are set up.
When it comes to scheduling refreshes, I would suggest looking into customizing the schedules. In Power BI Service, as you sure know, the available hours is every half and whole hour. If you manage refreshes using PowerShell, you can schedule refreshes at different times than those available in Power BI Service, and since you have a Premium license they will not be counted from the 48 available scheduled refreshes.
There are several other aspects to consider, but let's start with this and see waht the discussion brings.