Long Range (LoRa) represents an efficient low power solution for the Internet of Things. Specifically, LoRa defines a physical layer technology, while access control and network issues are handled by the LoRaWAN protocol. Channel access is essentially unslotted ALOHA, so LoRaWAN performance suffer from packet collision events. Such problem becomes more penalizing in dense network scenarios, where the large number of devices simultaneously connected makes the collision probability significantly grow. The largest part of solutions proposed to overcome LoRaWAN inefficiency is oriented to collision avoidance. Differently, we firstly present an algorithm for mitigating the interference among superposing LoRa signals, allowing collided packets to be detected anyway. Then, we propose a novel combining mechanism, implemented at the LoRaWAN network server, that exploits the information carried by the same packet, but received by different gateways, to achieve a more robust decoding. Hence, packet detection is reliably performed even in the presence of interference, thus reducing the need of retransmission and providing energy saving for end devices. Furthermore, simulation results show that the proposed solutions allow the end users to transmit exploiting low spreading factors, thus reducing the channel use that will be fundamental when dealing with larger scale network scenarios.