Thanks for the suggestion. I also consulted with my colleagues. Still no consensus on the solutions. But I read the article from the guy that invented the GSEA ( 2005-Gene set enrichment analysis - A knowledge-based approach for interpreting genome-wide expression profiles ). It seems the fold change is only used for ranking the universal/background gene list. So what about replacing the 'Inf' and '-Inf' with some big numbers, say '99999' and '-99999' ?
Nonetheless since I can't read the source code of clusterProfiler and cufflinks I will remove the 'Inf' and '-Inf' gene from GSEA input.