Your problems are 100% empire-management related.
Set a goal, go for it. Build only with return of investment in mind. Build things with the highest and fastest ROI first. Decide your goals ahead, don't play on a turn by turn basis.
If you plan to conquer, build up unit, until the conquest you planned is done. Don't build temples first.
If you plan to go peaceful, don't amass units. If you do amass units, use them. Keeping X amount of units in every town is a complete waste. (but do build a few units to keep the AI at bay)
Unless you are playing by some variant rule, the regular way to win is to gain power fast. SO expand, expand, expand. The larger your empire, the more (lux) resources you will generally own, and the more absolute amount of commerce your empire generates each turn. (60% of 200 commerce is more than 100% of 100 commerce, so if you have a bigger empire you can afford to spend more commerce on happiness and still generate more science beakers per turn as well)
Learn to trade, research up the tech tree (example: writing >CoL >philosophy >republic , or: Mysticism >pollytism >monarchy ) then trade your more expansive tech for multiple cheaper tech you skipped. For this purpose, make a point of getting contact with as many civ as possible as early as possible.
Be efficient:
Specialize your cities, only a city that is pumping workers or settlers need a granary. Only cities that are pumping military land units need a barracks.
Cities that you set up for artillery type units (catapults-canons-artillery) don't need barracks.
If you build your cities close enough together then you don't need to expand culture everywhere to reach all tiles. If you try to place cities next to a river or lake, then they don't need to build an aquaduct to grow beyond size 6.