It's tough to build to counter her. It is best to just counter pick her, or ban her if you are 1st/2nd pick top.
I play Renekton or Pantheon into her.
Pantheon destroys her in lane with the Q pokes and his passive is very good when she tries to return poke with her Q or all in you with R and Q's. When playing Pantheon into her she will probably parry a Q because she does not want to take free damage over and over again. Then you W-basic-Q-E as Fiora has to either fight you (but her first basic or Q will get blocked, so as Panth you can walk away and win the trade) or run away while probably taking another Q while running. Pantheon can rack up kills vs Fiora in lane.
Renekton is the same way. If he his her Q on you you can Q her and heal is back. You can chase her down and beat her ass with your double E's, so even if she slows you with parry you can catch her and stun her up. Renekton's ult can save him from sure death when Fiora all-ins him. His ult can turn the fight around quickly with a quick R Q W (R heals, Q heals, W is a triple basic with stun)
Both of these champions do not require you to build differently from their normal builds, so once out of lane it won't be different. Also, since Fiora likes splitting late game because 'no champ can 1v1 Frioa late' Renekton with Tiamat or Hydra hopefully by then can insta-clear waves.
Apparently and Gnar are good counters as well, but i do not play those two champs often.
Hope this helps :)
GLHF