Whenver I see some sentential constructions that seem a little foreign or strange to me, I tend to replace some parts that are confusing with some simpler words that have worked in the past. Is that the right practice?

This poor guy has a weakness for decadence.

Since I don't know whether it is structured right, before I can go anywhere with the sentence, to check for structual accuracy, I tend to replace it with some simpler words that worked in the past.

The poor guy has a weakness for badness.

Now, I am comfortable with this so I assume the previous one is structually sound too.

Is my approach workable universally(all the time)??
I think your approach is not so good as it seems to you. Replacing words like "decadence" with more simple and general words may change the meaning of a sentence or can even lead it to ambiguous meaning.
First, I don't think such replacements help understand the structure. In most cases structure can be grasped even if some words in the sentence are not familliar to the reader.

I wouldn't say this works universally because you risk to perform an incorrect substitution that will make the sentence incorrect.

In any case, with the same effect you could replace "decadence" with "alcohol", "computer gaming" and "women" as well! The structure would not change.
Teachers: We supply a list of EFL job vacancies

What I am doing is not replacing words like 'decadence' with any simple or general words but with the ones that are of the same grammartical element: decadence is an abstract uncountable noun so I replace with a very similar abstract uncountable noun that I can come up with which is 'badness'. All in all, what I am doing or trying to do is replace them carefully with the words that best substitute the original words. Is that a not-so- good approach?
Even if to fit words very thoroughly, that's at least redundant work. Since such accurate replacement requires you to translate the original word first, why bother?