Changing the growth rate/profit alone seems like not a great fix. That just means it will take longer for civilians to get out of hand. Unless you make them grow slower than your empire, in which case they'll stay permanently irrelevant.
So civilian shipping lines need to be limited. This limit needs to be with reference to the size of your empire, else civilians will be too good for small empires and too weak for large empires. The problem, such as it is, is that civilians are an exponential snowball of something for nothing. They do stuff you want, give you money rather than cost anything, and grow based on how awesome they were for you already. I think that instead of capping the "something", you should cap the "for nothing".
I think you already have the tool you need. IIRC colonies produce a finite amount of trade goods, based on their size. With tweaking amounts + profits, this provides a natural cap on the profit that can be made by shipping trade goods.
Cap luxury transport desire the same way--a finite amount desired for a population of a given size.
Cap colonist transport the same way. Maybe some tiny fraction of a colony's population wants to move to a different world (badly enough to pay for it) in a given year. Optionally, let the empire pay to have civilian ships move colonists beyond this limit. A simple checkbox for "subsidize colonist transport" would seem to be good enough.
After reading through the thread I really like the core of this elegant suggestion the most. Almost all other suggestions are in one way or another artificial, hardcapped or manual ways to try to balance civilian shipping which I don't think have the potential to be either as elegant, dynamic or as effective in the long run. This also removes any need of limiting number of shipping lines as when colony demand is the limiting factor 200 lines with 1 ship or 1 line with 200 ships both will provide the same service and the limitation automatically targets total tonnage/time that can be shipped, and if people are exploiting a planet-moon connection then the demand will simply be met very quickly with a very low number of ships.
This suggestion should also require very little changes to code, but mostly theoretical calculations and balance testing.
By scaling the income potential of tradegoods, colonist travel demand and luxury/passenger transports to the size of the colonies there is a built in "cap" to the system of how profitable shipping lines can become. Essentially when they reach the number of ships needed to fill 100% of the demand any addition ships will contribute no more profit (unless you as a player want to pay for additional tasks beyond this).
Another
REALLY positive bonus to this is that it ensures that after enough time has come to have your shipping lines be in balance with demand they should be spread out and cover the shipping needs of the empire meaning you have all types of shipping available (and in need of protection from threats) wherever you have colonies, and not just on a few routes with the current "near infinite" demand.
If the issue is that people want to play with multi billion sized population colonies that still could see shipping lines with thousands of ships ofcourse to cover such a large demand, then it could be fairly easy to lower the demand past certain pop levels through diminishing returns (similar to pop growth) to make the shipping line numbers more manageable. There would still be hundreds of ships, but it would make sense to have a large civilian shipping sector for such massive empires.
Together with a bit better logic to ensure shipping lines deploy the correct size of ships (Small, Regular, Huge) both when building new and when deciding what demand to fill I feel confident this solution would be great.