Good or bad, I can tell you what I've done for a new green field with a dozen projects, 20 or so PLC connections, etc.
Each Project, Device Name, Tag Provider, etc, keep the same name with a suffix if that's applicable. Most of my clients are tied to a specific PLC, so that naming helped keep everything related and organized.
Within Projects, Folders are organized for windows by function. Each function has a Main Windows folder and a popup windows folder.
I know many believe in inheritable templates, but for me personally, it's easier to just export the templates I need from one Project to others. I'm in designer anyway, so if i modify a shared template, it's literally a couple of clicks to send it to other projects.
Same for copying UDTs between projects. Having to move UDTs to different Tag Providers is an extra step, but one I prefer to use for portability and keeping everything tied to a project. Many may frown on this approach, but it's worked very well for me.
Early on, design your alarm management. Whether using Display Paths, Pipelines, etc, put alot of time outlining this before creating the first tag. Im personally a fan of Display Paths and have that routing buried in my UDTs, but theres many ways to skin that cat.
Create a navigation scheme and stick to it. I created a two level navigation scheme that creates groups, and specific areas within a group. I'm personally not a fan of the Tab navigation widgets. Share this navigation to all projects for consistency.
My personal preference, design in the common native resolution that will be most used by clients. Ignition does a fair job of scaling, but why should it. Build to the pixel size of your native resolution.
Read all the tips for how to pass tagpaths for popups, how to optimize data and communications, how to optimize historian data collection etc. Making a wrong turn can severly hamper server performance. We're at about 150k tags, shared among a dozen tag providers, a dozen clients, and our server load is less than 20%, our device overloads are at 0%, and our memory is between 3GB and 5GB. So far, fingers crossed, everthing remains snappy.