As IoT services become more active, the density of IoT devices is increasing, and massive connectivity technology is needed to support numerous devices simultaneously. In addition, IoT devices are often battery-powered, and during random access, it is necessary to reduce the power consumption to extend the lifetime of the devices. In particular, devices with poor channels need to send at a very low transmission rate through a large number of repetitions, and longer packet lengths can increase the probability of collisions, increasing the power consumption while shortening the lifetime of the IoT system. Dividing devices into groups based on the number of repetitions and allocating different resources to each group can reduce collisions for bad-channel devices, but it can be difficult to support large connections, due to the inefficient use of resources. This paper proposes schemes to reduce the collision probability of bad-channel devices while allowing IoT devices to use shared resources, instead of dividing resources by groups. There are two versions of the proposed schemes. The first method reduces collisions by delaying the response of a bad-channel device, and in the meantime, eliminating interference from other devices, assuming that the bad-channel device is not sensitive to delay. Instead of checking the response, and then, performing a random backoff when no acknowledgement packet is received, the second proposed method reverses the order of response checking and random backoff, that is, it first performs a random backoff, and then, checks the response to decide whether to retransmit. The proposed method can increase the lifetime of the IoT system by reducing the collision probability of a bad-channel device, without degrading the performance of other devices.