My OnePlus One easily gets over a day of battery life without a problem, but when I try to charge it, it seems to take just as long. For some reason, no matter what charger you plug your OPO into, it never gets more than USB-level power, meaning that charging times are more than double when compared to traditional AC-charging.
The beauty of having an Android device is that the community is always up the task of fixing these types of shortcomings. Famed developer Francisco Franco has came out with a replacement kernel for the OPO which, among other things, forces AC-charging.
This does require you to flash a file in TWRP, so an unlocked bootloader is a must. Also, this is only compatible with CyanogenMod 11S, which means if you switched to Color OS or regular CyanogenMod 11, this hack will soft-brick your device. Be warned.
Step 1: Download the Kernel
Download the Francokernel.zip file directly to your phone's storage, and once it finishes, boot into recovery. If you have Advanced Reboot enabled from Developer options, you can select Recovery as a boot option from there.
Step 2: Flash Franco Kernel
Once TWRP starts up, tap Install and select the .zip you downloaded.
Wipe the Dalvik Cache and Cache once the install finishes, then reboot.
Step 3: Charge the Battery Faster
Now whenever you plug your device into a wall-mounted outlet, it will automatically switch to AC charging. My average charge time is roughly 2 hours to get from 5% to full.
The kernel is updated often with more speed and power optimizations, so be sure to check the XDA thread every few weeks to say up to date.