This is often likely not the reply you're anticipating to listen, but how will a huge pipeline or organize illuminate the issues you're confronting? Your to begin with objective ought to be diminishing complexity, not the number of pipelines, stages and/or employments.
In the short term consider:
Creating task groups for each set of tasks in order to reuse functionality across pipelines/stages/jobs
Creating a pipeline for each environment in order to reduce complexity and be able to manage each environment independently
Organizing stages and jobs logically according to functionality and considering which ones can (or should) run together, in case of failure or not
These 3 steps should help you solve most of your problems.
The long-term strategy is to use YAML pipelines and reusable templates to manage your pipeline(s).