Until recently DS was having two one-hour naps per day and sleeping through at night or waking once in early morning (easy resettled with bf or back rubbing). Bedtime routine was quick and consistent. The last few weeks he has dropped to one nap (1.5 hours roughly) and for a week now has been massively resisting going to sleep at night, then waking frequently in the night too. He always wakes up at roughly the same time in the morning (when DH goes to work) so late nights mean he's really overtired, yawning and cranky in the day. He is currently teething canines and suffering a fair bit with them generally. It's also hot at night where we live (not the UK) which doesn't help.
We co-sleep - he has a side-car cot (Ikea with bars removed) attached to our bed. He was self-settling to sleep sometimes but is more usually breastfed to sleep or sung to with his back rubbed (in the day he'll still sleep fine in a buggy/car/sling). The last week every night he's been shouting "no no no", "book", "play" etc every time he's about to drop off, or you stroke his hair, or he hears the song he associates with sleep etc. I have had to trick him into going to sleep by feeding him off to sleep in other rooms as when he sees the bed he starts fighting tiredness again and wants to run around. Lying next to him quietly in the dark no longer works as he throws himself about and it's dangerous. I'd rather not put bars on the cot as while he's sleeping poorly bf is a useful tool for settling him in the night and co-sleeping means I get much more sleep. And I won't leave him to cry.
Bad sleep patches always seem to pass after a while, but I'm worried about him being so clearly overtired in the day. Should I be trying to get him to have two naps? Start the bedtime routine early? Should I be more flexible and take sleep any way it comes, or be strict about a routine?