Control Panel > Power Options > Change Plan Settings > Change Advanced Power Settings > Processor Power Management >
If you're on Balanced, change maximum processor state to some thing below 100% (I use 96%)
If you're on Performance, change maximum and minimum processor state as above.
What I think was happening was when BF1 spiked to 100% on a CPU core, the processor would begin to automatically overclock as per the Turbo Boost function. When this was happening, I noticed my CPU was being throttled. FPS would drop down as low as the 10s and 20s and the game was genuinely unplayable. Making this change seems to prevent the CPU going to 100% and having the turbo function kicking in at all or just preventing the need for throttling. Since making this change I've been getting almost constant 60FPS with everything on ultra where before I couldn't even play on low.
Can't tell you this is a sure fire fix if you're having similar issues but it has certainly improved performance massively for myself and might be worth a try for yourself.