By my definition profanity conveys emotional information without conveying factual information. Useful in certain circumstances, not so useful in others.
“I got a fucking ticket today for doing shit.” Fucking conveys frustration at the ignominy of the situation; doing shit conveys virtually nothing. What were the charges? What were you really doing? Where were you? What happened?
We use all-purpose group words all the time. A herd of cows, for instance, is often not a [singular] herd of all-female bovines. A car park (as the British say) has more than cars in it. A coat closet holds more than coats. Going out with the guys doesn’t necessarily mean we will be spending the entire time out of doors in an all-male crowd. We use words that properly and concisely convey our meaning without pedantry.
You want accuracy? The phrase “a bunch of shit in my garage” would most accurately be rephrased as “some detritus in my garage consisting of replacement parts and maintenance supplies for my sedan, organic refuse from the house, empty wrappers, food bags, paint cans, tools, a bag of dog food, aluminum cans to be recycled, gardening supplies, a broken lawn mower, and some mouse shit.” But “a bunch of shit in my garage” conveys the sentiment nicely and concisely. If there is some particular shit in the garage toward which our attention should be drawn, that is up to the speaker to specify.
You could think of a dozen examples yourself in no time at all. If you reject profanity because it is imprecise then surely you reject other words for their lack of clarity. In fact, the word profanity technically means words which are profane, that is to say, characterized by unholiness or contempt for God, but we have expanded its definition to words which are merely uncomfortable or impolite, like “fart.”
I read an interesting statistic that suggested men had a larger vocabulary than women (on the average) but men used their vocabulary prescriptively. Words had one or two meanings. Women, by contrast, had a slightly smaller vocabulary, but used words very flexibly in context. (Anybody who has ever heard a woman say “I could just kill my husband!” knows that she doesn’t mean it literally.)
When it comes to profanity, I agree that there are often better ways to communicate factual data: what happened to me, how do I feel about a subject. Details, information. I just don’t see there’s any way to entirely remove profanity from our language. So long as we are subjective, emotional human beings there is always a place for subjective, emotional language.