I intend to find common peaks ( in ChIP-Seq data, )  defined as peaks that exist in any  pair of the 3 replicates I have. Of course there are 3 pairs, so peaks that overlap in 1 base in any pair of those would be considered valid. 

If peak A and peak B overlap between two replicates, I will define the final "peak" as the union between the area that peak A spans and the area that peak B spans.

The issue is that I would like to have some way to **rank** the final peaks, at least to decide which peaks are "the best peaks". 

Each final peak is a combination of *at least* two peaks; while the original peaks have meaningful p-values and q-values, I don't think their combination would be meaningful for the combined peak. 

Can you suggest a meaningful way to rank the combined peaks?
You would need a statistical framework. I could think of several options:

1) Use a dedicated replicate-aware peak caller:

 - [PePr][1], easy to use, accepts replicates, returns statistics per peaks which (from what I understand) respect the variability between replicates. It needs an input sample though.
 - [Genrich][2], actually developed for paired-end data but can tweaked to accept single-end reads if you know the average insert size. Needs no input explicitely, combines statistics per peak using Fisher's method. Works in my hands well for ATAC-seq, did not test it for ChIP-seq. Method is currently unpublished. 
 - [CHIP-R][3], very new method I stumbled over on [Twitter][4], seems to be a pipeline that somehow assesses replicates in terms of reproducibility, had no time yet to look into it though, feel free to post feedback if you try it.

2) Naive intersections:

 - Intersect a) with b) and the output with c), take the overlaps. That is one the one hand stringent as peaks have to be present in all three sets but relaxed as it does not consider the variability, so only checks for binary presence. Once you have this call peaks on the merged bam files, intersect with this peak list you just created, and then rank by the p-values (or any other metric from the narrowPeak file) for those called peaks that intersect with the intersection set. Probably the weakest of all the methods I describe here, it is rather a thinking-aloud, probably not very reliable, and quite tedious.

3) Use IDR:

 - The Irreproducible Discovery Framework (here a [tutorial][5]) was developed to check for consistency in ChIP-seq data, but only accepts n=2. So you could take the two replicates with the best data quality and then use them to create a confidence peak set.

4) A rank-based meta-analysis. 

 - https://cran.r-project.org/web/packages/RobustRankAggreg/index.html might be an option. Rank the peaks of each sample by a metric of choice, then use this package to prioritize them based on rank-consistency.

As always it depends: What is the final analysis goal?

  [1]: https://github.com/shawnzhangyx/PePr
  [2]: https://github.com/jsh58/Genrich
  [3]: https://www.biorxiv.org/content/10.1101/2020.11.24.396960v1
  [4]: https://twitter.com/rhysnewell/status/1332127898854060033
  [5]: https://hbctraining.github.io/Intro-to-ChIPseq/lessons/07_handling-replicates-idr.html