Well, it would be a lot easier for me to formulate a strategy if I could see your saved game. Since things are going well you may want to save that game as a base and experiment with it.
Generally speaking, you want to focus on denying valuable recruiting areas to the Romans and obtaining some yourself. Building and maintaining powerful forces is more important than victory points per se for most of the game. Keeping Hannibal's force large enough for him to be a threat - and to survive in the field - is crucial. That is a function of which cards you draw, and good luck/bad luck in battles.
Keep Hannibal in the field.
Don't get caught up attacking cities unless you can besiege them safely and capture them with minimal loss. If you have to, don't be ashamed to use the "Retreat" option to avoid battles you don't think that you can win. Of course, doing that allows the Romans to draw an Option Card which you want to avoid if you can. Forgive me if I am telling you what you already know.
Here are a few specific ideas.
Since you have Syracuse on your side, you can consider adopting a "southern" strategy. Can you send your fleet to join with the Syracusan fleet? If so, you can split the Roman centers of naval production and keep them (for a while) from joining together. Then you can besiege any hostile cities on Sicily and the Romans won't be able to intervene. Control of each minor city increases the number of units that Syracuse can field. So if you can capture those cities, Syracuse can produce additional naval squadrons and help you to keep control of the Ionian Sea. This depends on how many squadrons you have and how many squadrons the Romans have, and also where they are located.
This may sound artificial, but if your combined fleet fights a battle, take your losses from the Syracusan squadrons first. That wouldn't work in the "real" world, of course. But I am not above exploiting the game's rules when I really need to.
Hannibal's presence improves the rate of replenishment of the recruiting pool in Bruttium. Keeping Hannibal in the field in Bruttium is sometimes a good strategy. Any units he recruits there are units that the Romans can't have. It's also a way for him to survive when things are going badly.
If you do shift your focus to Southern Italy, it is easier for the Romans to move forces to Spain. So you want to be even more careful to send reinforcements to Spain from Africa when you can.
If you have land forces in Spain and Sicily, the Roman Senate is usually less willing to send armies to Africa, unless the Romans already have one or more armies there. This tendency is stronger in the Introductory level. So you can usually afford to send out all your units from Africa to other theaters.
If your naval forces are reasonably strong, and you control Syracuse, you can use all relevant cards to build naval forces and to reduce Roman naval forces. At the Introductory level in particular you can win a naval war. It depends on what your forces look like now and what cards you have. For example, instead of taking "Emergency Levies" you can use the "Remove 1 From 2" option and select Roman fleets. Of course, if your armies are losing in Spain you would use "Emergency Levies" to help with that.
If this is not helpful in your current game, please consider starting a threat in The War Room and uploading the game, or posting more details on the current conditions in your game.
By the way, thanks for your kind words about the game. I hope that you can get a victory out of this current game.
Forced March Games, LLC