Multiple runners for all projects OR single runner per project
After some research i found out that shared runners are good for the projects that are very much the same, and specific runners are better for the projects that are not like any project. 

Shared runners can eat all resources available in the end with its queue's which makes specific runners more interesting.

My choice now is more like a little bit of both, so shared for all small and likewise projects, and specific for the large new projects as the documentation recommends.

From Shared vs specific Runners:


  ... The main differences between a shared and a specific Runner are:
  
  
  Shared Runners are useful for jobs that have similar requirements, between multiple projects. Rather than having multiple
  Runners idling for many projects, you can have a single or a small
  number of Runners that handle multiple projects. This makes it easier
  to maintain and update them. Shared Runners process jobs using a fair
  usage queue. In contrast to specific Runners that use a FIFO
  queue, this prevents cases where projects create hundreds of jobs
  which can lead to eating all available shared Runners resources.
  Specific Runners are useful for jobs that have special requirements or for projects with a specific demand. If a job has
  certain requirements, you can set up the specific Runner with this in
  mind, while not having to do this for all Runners. For example, if you
  want to deploy a certain project, you can setup a specific Runner to
  have the right credentials for this. The usage of tags may be
  useful in this case. Specific Runners process jobs using a FIFO
  queue.
  
  
  A Runner that is specific only runs for the specified project(s). A
  shared Runner can run jobs for every project that has enabled the
  option Allow shared Runners under Settings ➔ CI/CD.
  
  Projects with high demand of CI activity can also benefit from using
  specific Runners. By having dedicated Runners you are guaranteed that
  the Runner is not being held up by another project's jobs.
  
  You can set up a specific Runner to be used by multiple projects. The
  difference with a shared Runner is that you have to enable each
  project explicitly for the Runner to be able to run its jobs.
  
  Specific Runners do not get shared with forked projects automatically.
  A fork does copy the CI settings (jobs, allow shared, etc) of the
  cloned repository.


Still i would like to know everyone's mindset about this, as im still interested about your way of doing it!