There is no way in SPARQL 1.0 to consolidate results on one object. I have code to handle consolidation in SPARQL Views. However, this makes the results unpredictable when combined with a LIMIT. LIMIT sets the limit on rows, not on the "objects" returned.
SPARQL 1.1 introduces subqueries to handle this problem.
I believe we could just introduce a subquery for each resource that is part of the query. However, this will create longer queries. Since we are sending these queries as HTTP requests, there is an upper limit to the length of the query, so this will be something to watch out for. I'm not sure what the performance implications of subquery processing is in the different SPARQL endpoint implementations, either.