Recently my transactions are being split to tons of outputs, making the transaction really large in size, thus increasing the fee.
Is there any way to make a single transaction sent from one address make just 1 output because lowering the fee doesn't seem to be a great option, since the transaction just hangs there unconfirmed.
Are you refering to inputs maybe? Outputs are the coins you create, either for someone else or for yourself. Usually you would only create a single output for yourself, the rest that you do not send elsewhere called change. Inputs are the coins you receive via transactions and use to create new transactions. If you have received many small amounts in the past they can increase the size of your transactions. A possible solution is to enable coin control (assuming bitcoin core, due to the section you posted in) and hand pick a few small and large inputs to slowly get rid of the smaller ones.