MACS2 now is able to deal with broad peaks when you include the --broad flag. The rest of the syntax is the same as when you use it for narrow peaks (please refer to https://github.com/taoliu/MACS for more details).
Basically, the developer wanted that MACS was able to deal with the stuff you mentioned and he included it in the second version.
Regarding the replicates: you can also put more than one chip and control file (thus being able to merge the replicates in the same peak call with no much effort).
An example (of a peak call line that uses broad peak calling, replicates and paired-end data):
macs2 callpeak --broad -t sampleA_1.bam sampleA_2.bam -f BAMPE -B -q 0.05 -n experimentName -g hs --outdir /path/to/outputDir
Regarding the case of when you have paired-end data, the following is mentioned in MACS2 manual:
"BAM/SAM
If the format is BAM/SAM, please check the definition in (http://samtools.sourceforge.net/samtools.shtml). If the BAM file is generated for paired-end data, MACS will only keep the left mate(5' end) tag. However, when format BAMPE is specified, MACS will use the real fragments inferred from alignment results for reads pileup.
BEDPE or BAMPE
A special mode will be triggered while format is specified as 'BAMPE' or 'BEDPE'. In this way, MACS2 will process the BAM or BED files as paired-end data. Instead of building bimodal distribution of plus and minus strand reads to predict fragment size, MACS2 will use actual insert sizes of pairs of reads to build fragment pileup.
The BAMPE format is just BAM format containing paired-end alignment information, such as those from BWA or BOWTIE.
The BEDPE format is a simplified and more flexible BED format, which only contains the first three columns defining the chromosome name, left and right position of the fragment from Paired-end sequencing. Please note, this is NOT the same format used by BEDTOOLS, and BEDTOOLS version of BEDPE is actually not in a standard BED format."
It seems this program has evolved to tackle down the problems you mentioned. Hope it helps
Just to update this in 2019, PePr now supports paired-end data, but personally did not test it on broad peaks yet. For sharp peaks it seems to work well.