Shikamura by every definition of the word is smarter, if the both played shogi he would win, if they both played chess he would win, if the both played checkers he would win, he is a strategic machine.
He would solve every riddle first.
In a battle, where defeating the opponent means to find a weakness that can only be found by strategic assessment and observation of the situation he would win first.
Intelligence of his level is known around NU, he is from a clan famous for intelligence.
As for who would win in a fight, Sasuke probably dominates, that is because of Sasukes raw power.
Give both Sasuke and Shika two days prep time and intel, Sasuke would be a fool to fight him
All of the battles that you mentioned are based upon Sasukes KG, his eyes see things that most can't, intelligence is how he uses that, which yes he has shown, but no it is nowhere near Shikas level.