This is something that I threw together a few years ago in a pure T-SQL way. It's generally not a great idea to do it that way, so I decided to re-do this using the SolarWinds API.
Basically, it uses a display pixel width value you specify (Line 17) and determines the number of pixels for each column in a Classic Dashboard. Default settings are for a full HD system (1920w x 1080h).
I used several advanced PowerShell features (adding script properties to objects) to optimize this for memory on very large systems. It makes the bulk of the read pretty advanced for novice users, but I commented it heavily.
WARNING
There's no great magic here but be aware that it doesn't have a "CONFIRM" option. If you run this as is, it'll make the changes to EVERY classic dashboard which affects every user of the software. There is no "undo" option.
Before:

After:

Updates:
- Added new PowerShell Object member additions and optimized for memory on the executing machine
- Explained the "math" of figuring out the widths of the columns.
- Added logic for detecting if the Flow Navigator (NTA) pages are being updated and altered the widths