How to group intervals which overlap by some amount?
Here is one interpretation of your problem:

Given $n$ observed intervals $I_1,\dots,I_n$ and $k$, find $k$ disjoint inferred intervals $J_1,\dots,J_k$ that maximizes the number of observed intervals are covered by at least one of the inferred intervals.  Say that $I_i$ is covered by $J_j$ if they have at least 95% overlap, where the overlap between $I_i,J_j$ is measured as $|I_i \cap J_j|/|J_j|$ where $|\cdot|$ denotes the length of an interval.

This problem can be solved with dynamic programming.  Sort the endpoints of the observed intervals.  For each endpoint $e$ and each $k_0$ with $0 \le k_0 \le k$, let $f(e,k_0)$ denote the maximum number of observed intervals that can be covered by $k_0$ disjoint inferred intervals that are all in $[-\infty,e]$.  Then you can write a recurrence relation for $f$: in particular,
$$f(e',k_0) = \max(f(e^*,k_0), \max \{f(e,k_0-1) + \eta : e&lt;e'\})$$
where $e^*$ is the endpoint immediately before $e$, and $\eta$ is the number of observed intervals that are covered by $[e+1,e']$.

That said, I suspect a more pragmatic approach might be to use some standard clustering algorithm, adapted for this problem.  For instance, you might use k-means on the centers of the intervals.  Given a set of intervals that have been clustered together, you might use the median of their left endpoints and median of their right endpoints to define a new interval that serves as the clusterhead.  You can probably come up with other heuristics.  It's plausible that this might be adequate in practice.